【问题标题】:Gulp watch not working on Node 4.6.0Gulp watch 在 Node 4.6.0 上不起作用
【发布时间】:2016-10-12 23:27:48
【问题描述】:

此刻我真的很绝望,我有一个工作项目,一个工作 gulpfile.js 文件正在运行,在我将节点更新到 4.6.0 之前一切都很好,我试图在 Gulp 上的 git 上解决这个问题,但他们告诉我这不是 Gulp 问题,所以我不确定如何解决。

我的设置是

系统:Windows 7 64x
节点:4.6.0
吞咽:3.9.1
npm:2.15.9

var gulp = require('gulp');
   sass = require('gulp-sass');
   notify = require("gulp-notify");
   jshint = require('gulp-jshint'),
   uglify = require('gulp-uglify'),
   rename = require('gulp-rename'),
   concat = require('gulp-concat'),
   cssmin = require('gulp-cssmin')

gulp.task('styles', function() {
    gulp.src('sass/main.sass')
        .pipe(sass().on('error', sass.logError))
        .pipe(cssmin())
        .pipe(rename({suffix: '.min'}))
        .pipe(gulp.dest('./css/'))
        .pipe(notify({ message: 'sass file compiled!' }));
});

gulp.task('jsScripts', function() {
  return gulp.src('./js/*.js')
    .pipe(jshint('.jshintrc'))
    .pipe(jshint.reporter('default'))
    .pipe(concat('web-app.js'))
    .pipe(rename({suffix: '.min'}))
    .pipe(uglify())
    .pipe(gulp.dest('./js/output'))
    .pipe(notify({ message: 'JS Scripts done!' }));
});

gulp.task('watch',function() {
    gulp.watch('./sass/main/*.sass',['styles']);
    gulp.watch('./js/*.js', ['jsScripts']);
});

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

正如我所说,它在更新之前运行良好,现在它所做的一切,它运行任务并“监视”就这样完成,我什至不认为正在编译 sass 文件,我安装了所有依赖项正如我一直这样做的那样,我遵循了一个教程:https://travismaynard.com/writing/getting-started-with-gulp,它一直都运行良好。

是 Node.js 的问题吗?我不知道该怎么办。太棒了

【问题讨论】:

    标签: javascript node.js gulp gulp-watch gulp-sass


    【解决方案1】:

    Node-sass 是根据当前使用的节点版本安装的,所以如果你更改了版本,它将无法编译。

    删除您的 node_modules 文件夹并运行新的npm install

    【讨论】:

    • 我只是这样做了,但它不起作用,同样的结果,更新了所有内容,并且发生同样的事情,这是我的命令提示符屏幕:i64.tinypic.com/15fkjub.jpg我不知道是什么阻止了监视任务正常运行。
    • 哦,我明白了。由于 javascript 中的 linting 错误,构建失败
    • 在您的 javascript 文件顶部添加以下内容:/*global $, jQuery*/ 'use strict';这将使 jshint 知道 jquery 将是一个全局变量,并且不会由于未在文档中声明而引发错误。请注意:使用严格模式可能会出现更多错误,具体取决于您的 javascript 的质量
    • 它确实带来了一个无法解决的错误,但是,即使我完全删除了该任务,并且只是坚持SASS编译任务,它也有同样的效果,Watch刚刚结束,也,我记得以前有 jsHint 错误,一切正常,通知在我的右下角,每次我保存它编译的 sass 文件时,这是我的提示的另一个屏幕,根本不涉及 JS 任务,从gulpfile:i64.tinypic.com/kei3qx.jpg
    • 嗯很奇怪 - 几乎就像它找不到任何文件一样,因为没有错误。也许尝试将 ./ 添加到 glob 中。 gulp.src('./sass/main.sass')。我知道这对我的机器没有影响,但也许 windows 对文件路径的行为不同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-20
    • 2015-04-14
    • 2018-11-14
    • 1970-01-01
    相关资源
    最近更新 更多