当前位置: 首页 > 知识库问答 >
问题:

gulp-sass和gulp-watch,保存scss时找不到文件

梁嘉澍
2023-03-14

我当前正在设置我的gulpfile,而当watch任务正在运行scss任务时,我遇到了gulp-sass的问题。

这就是我的gulpfile.js的样子:

var gulp = require('gulp'),
    plumber = require('gulp-plumber'),
    sass = require('gulp-sass'),
    sourcemaps = require('gulp-sourcemaps');

var onError = function(err) {
    console.log(err);
};

var bases = {
    dist: './dist/',
    src: './src/'
};

var paths = {
 sass: [bases.src + 'scss/base.scss'],
 sourcemaps: '/'
};

gulp.task('scss', function(){
    return gulp.src(paths.sass)
    .pipe(plumber({
        errorHandler: onError
    }))
    .pipe(sourcemaps.init())
    .pipe(sass({
        sourcemap: true,
        style: 'expanded',
        sourceComments: 'normal',
        onError: onError
    }))
    .pipe(sourcemaps.write(paths.sourcemaps))
    .pipe(gulp.dest(bases.dist + 'css/'))
});

gulp.task('watch', function(){
    gulp.watch(bases.src + 'scss/**/*.scss', ['scss'])

});

gulp.task('default', ['scss','watch']);
@import 'modules/modules_base.scss';

我在控制台中得到的错误:

[18:54:13] Finished 'scss' after 12 ms
[18:54:15] Starting 'scss'...
{ [Error: src\scss\base.scss
  1:9  file to import not found or unreadable: ./src/scss/modules/modules_base.scss
Current dir: ]
  message: 'src\\scss\\base.scss\n  1:9  file to import not found or unreadable: ./src/scss/modules/modules_base.scss\nCurrent dir: ',
  column: 9,
  line: 1,
  file: 'stdin',
  status: 1,
  messageFormatted: '\u001b[4msrc\\scss\\base.scss\u001b[24m\n\u001b[90m  1:9\u001b[39m  file to import not found or unreadable: ./src/scss/modules/modules_base.scss\nCurrent dir: ',
  name: 'Error',
  stack: 'Error: src\\scss\\base.scss\n  1:9  file to import not found or unreadable: ./src/scss/modules/modules_base.scss\nCurrent dir: \n    at options.error (c:\\Code\\colorpicker\\node_modules\\gu
lp-sass\\node_modules\\node-sass\\lib\\index.js:276:32)',
  showStack: false,
  showProperties: true,
  plugin: 'gulp-sass' }

基本错误是:未找到或无法读取要导入的1:9文件:./src/scss/modules/modules_base.scss

应用程序的结构:

-component
   gulpfile.js
   -dist
       -css
           base.css
           base.css.map
   -src
       -scss
           base.scss
           -modules
                -modules_base.scss 

共有1个答案

谢烨烨
2023-03-14

你在用vscode吗?我在github上找到了这个

gulp.task('sass', function () {
    return gulp.src(SCSS_SRC)
        .pipe(wait(500))
        .pipe(sass({
            outputStyle: 'compressed',
            includePaths: ['./bower_components/susy/sass', './bower_components/breakpoint-sass/stylesheets']
        }).on('error', sass.logError))
        .pipe(concat('style.css'))
        .pipe(autoprefixer({
            browsers: ['>1%', 'last 2 versions'],
            cascade: false
        }))
        .pipe(gulp.dest('./dist/css'));
});

基本上

我在Sublime存钱的时候就有这个问题。文件第一次更改时,gulp watch会在文件完成保存或在lib-sass启动时无法读取之前启动。我给管道增加了50ms的延迟,这似乎起作用了。

gulp.task('default',function(callback){
    runSequence('clean-folder','css','js'['responsive-jpg','responsive-webp','copy-data']),callback
});

基本上清洁-文件夹运行和删除我想要重做的东西,然后css编译。在run-sequence得到所有SCS都已传输的回调之前,after不会运行任何内容。

 类似资料:
  • gulp-scss-starter �� Особенности именование классов по БЭМ используется БЭМ-структура используется препроцессор SCSS используется транспайлер Babel для поддержки современного JavaScript (ES6) в браузе

  • 在目录下查看时,可以看到可执行文件。 我的npm安装有问题吗?

  • /users/zohaib/npm-global/lib/node_modules 我遵循了这些规则,尽管这些规则是针对OsX和我有Ubuntu16.04的

  • 我试图使用NPM安装Gulp,但是Gulp命令无法被识别。这些是我运行的命令。我正在使用Git Bash并作为管理员运行它。我用的是Windows10。 (尝试运行'gulp'和'gulp-v',但没有任何效果) 然后导航到我的项目文件夹

  • gulp插件gulp-ruby-sass在编译sass文件时不起作用。