【问题标题】:Gulpfile.js file is not working?Gulpfile.js 文件不起作用?
【发布时间】:2016-12-26 10:15:35
【问题描述】:

当我编辑“_globals.scss”时,我的 Gulpfile.js 没有工作,甚至没有创建 css 文件夹,也没有自动在其中添加文件。当我在此文件中创建更改时,此代码也没有任何更改,例如“_globals.scss”中的主体颜色更改也不起作用,并帮助我如何在窗口中使用 cmd 调整 gulp watch

var gulp = require('gulp');
var livereload = require('gulp-livereload')
var uglify = require('gulp-uglifyjs');
var sass = require('gulp-sass');
var autoprefixer = require('gulp-autoprefixer');
var sourcemaps = require('gulp-sourcemaps');
var imagemin = require('gulp-imagemin');
var pngquant = require('imagemin-pngquant');




gulp.task('imagemin', function () {
    return gulp.src('./themes/custom/shinedelhi/images/*')
        .pipe(imagemin({
            progressive: true,
            svgoPlugins: [{removeViewBox: false}],
            use: [pngquant()]
        }))
        .pipe(gulp.dest('./themes/custom/shinedelhi/images'));
});


gulp.task('sass', function () {
  gulp.src('./themes/custom/shinedelhi/sass/**/*.scss')
    .pipe(sourcemaps.init())
        .pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
        .pipe(autoprefixer('last 2 version', 'safari 5', 'ie 7', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4'))
    .pipe(sourcemaps.write('./'))
    .pipe(gulp.dest('./themes/custom/shinedelhi/css'));
});


gulp.task('uglify', function() {
  gulp.src('./themes/custom/shinedelhi/lib/*.js')
    .pipe(uglify('main.js'))
    .pipe(gulp.dest('./themes/custom/shinedelhi/js'))
});

gulp.task('watch', function(){
    livereload.listen();

    gulp.watch('./themes/custom/shinedelhi/sass/**/*.scss', ['sass']);
    gulp.watch('./themes/custom/shinedelhi/lib/*.js', ['uglify']);
    gulp.watch(['./themes/custom/shinedelhi/css/style.css', './themes/custom/shinedelhi/**/*.twig', './themes/custom/shinedelhi/js/*.js'], function (files){
        livereload.changed(files)
    });
}); 

【问题讨论】:

  • 你是如何调用 gulpfile 的?用“gulp”还是用“gulp watch”?后者应该可以工作,AFAIK。前者需要一个调用“监视”任务的“默认”任务。

标签: gulp gulp-watch gulp-sass


【解决方案1】:

您可以使用gulp 从终端调用 Gulp,并在当前工作目录下搜索 gulpfile.js。这样做,它会搜索default 任务并调用它。

您也可以将参数传递给 gulp,然后它会搜索与参数名称相同的任务,即在您的脚本中,如果您只是在终端中执行gulp watch,它应该会执行(前提是您正在执行它在正确的目录中,并且您的 gulpfile 正确命名为 gulpfile.js) 您的 watch 任务。

所以,我敢打赌,gulp watch 将为您设置 gulp 监视进程,然后来自终端的 gulp 命令应该设置 scss 和 uglify 监视程序。

这就是说,你需要这个才能调用观察者。这并不意味着它会按预期工作。当您拥有 gulpfile.js 文件时,您必须确保该文件夹中 .scss 和 .js 文件的路径是正确的 - 这是您必须在 cmd 终端中使用 gulp 命令的同一文件夹 -。

(

如果您只想通过终端中的“gulp”命令来使用 Gulp,则必须设置一个调用其他任务的“默认”任务。在你的情况下,它可能是这样的:

gulp.task('default' , ['watch']);

)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-25
    • 1970-01-01
    • 2014-03-18
    • 2021-06-06
    • 2018-04-24
    • 2012-08-28
    • 2019-02-02
    • 1970-01-01
    相关资源
    最近更新 更多