Sass 为什么大口大口不喝';不创建css文件?

Sass 为什么大口大口不喝';不创建css文件?,sass,gulp,Sass,Gulp,我有一个问题,因为我已经在gulpfiles.js中创建了任务,但当我创建文件时:.scss,然后我在bash中编写命令gulp。我没有错误,但css文件夹中没有文件。在我的bash中,代码如下: C:\Users\DOM\Desktop\react\my-react-project>gulp [16:33:25] Using gulpfile ~\Desktop\react\my-react-project\gulpfile.js [16:33:25] Starting 'watch_s

我有一个问题,因为我已经在gulpfiles.js中创建了任务,但当我创建文件时:.scss,然后我在bash中编写命令gulp。我没有错误,但css文件夹中没有文件。在我的bash中,代码如下:

C:\Users\DOM\Desktop\react\my-react-project>gulp
[16:33:25] Using gulpfile ~\Desktop\react\my-react-project\gulpfile.js
[16:33:25] Starting 'watch_scss'...
[16:33:25] Finished 'watch_scss' after 13 ms
[16:33:25] Starting 'default'...
[16:33:25] Finished 'default' after 12 μs
这是我在gulpfile.js中的代码:

    'use strict';

    //dependencies
    var gulp = require('gulp');
    var sass = require('gulp-sass');
    var minifyCSS = require('gulp-clean-css');
    var uglify = require('gulp-uglify');
    var rename = require('gulp-rename');
    var changed = require('gulp-change');




    /////////////////////////////////
    // - SCSS/CSS
    ////////////////////////////////

   var SCSS_SRC = './src/Assets/scss/**/*.scss';
   var SCSS_DEST = './src/Assets/css';

   //Compile SCSS
   gulp.task('compile_scss',function () {

   gulp.src(SCSS_SRC)
   .pipe(sass().on('error', sass.logError))
   .pipe(minifyCSS())
   .pipe(rename({suffix:'.min'}))
   .pipe(changed(SCSS_DEST))
   .pipe(gulp.dest(SCSS_DEST));
   });


   //Detect changes in SCSS
   gulp.task('watch_scss', function(){
   gulp.watch(SCSS_SRC, ['compile_scss']); 
   });


   //Run tasks
   gulp.task('default', ['watch_scss']);

我找不到我的错误在哪里

gulp.watch
仅当您更改
scss\u SRC
中定义的目录中的文件时才会运行任务
'compile\u scss'
。直到gulp在那里的文件中看不到任何修改-
gulp.watch
将不起任何作用。尝试
gulp.task('default',['compile\u scss','watch\u scss'])。我建议您使用
gulpsync
插件使任务
'compile\u scss',watch\u scss'
一个接一个地运行,因为如果您按照我的建议修改默认任务-这两个任务将并行运行

我已将以前的代码更改为此代码:

var gulp = require('gulp');


//var jshint = require('gulp-jshint');
var sass =   require('gulp-sass');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var minifyCSS = require('gulp-clean-css');

var SRC = './src/Assets/scss/**/*.scss';
var DEST = './src/Assets/css/';

gulp.task('styles', function() {
    gulp.src(SRC)
        .pipe(sass().on('error', sass.logError))
        .pipe(minifyCSS())
        .pipe(rename({suffix:'.min'}))
        .pipe(gulp.dest(DEST));
});

//Watch task
gulp.task('default',function() {
    gulp.watch(SRC,['styles']);
});
一切正常,但我不知道为什么

在这一行中

var changed = require('**gulp-change**');
你应该要求改变大口,这样就可以了

var changed = require('**gulp-changed**');

如果您觉得这个答案很有用,请竖起大拇指:)

谢谢您的回答。但是当我在我的scss文件中更改某个内容时,没有任何效果。我的目标目录是空的。我已经照你说的做了,我试着:gulp.task('default',['compile_-scss','watch_-scss');但是我有一个错误:TypeError:run.call不是一个函数。当我直接运行gulp compile_scss时,我得到了相同的错误:typeError:run.call不是一个函数。me也是,因为我再也看不到以前的代码了,所以我没有什么可与之比较的:D