2016-10-12 50 views
0

我現在真的很絕望,我有一個工作項目,有一個工作的gulpfile.js文件,一切工作良好,我更新節點到4.6.0之前,我嘗試過在Gulp上做這個問題,但他們告訴我這不是一個Gulp問題,所以我不知道如何解決它。Gulp手錶無法在Node 4.6.0上工作

我的設置是

系統:Windows 7 64倍
節點: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問題?我不知道該怎麼做。 ty

回答

0

Node-sass根據當前使用的節點版本進行安裝,因此如果更改了版本,則不會編譯。

刪除您node_modules文件夾,並運行全新npm install

+0

我只是做了這一點,它沒有工作,同樣的結果,更新的一切,和它發生了同樣的事情,這是我的命令的屏幕promt: http://i64.tinypic.com/15fkjub.jpg 我不知道是什麼阻止監視任務運行,因爲它應該是。 –

+0

哦,我看到最新情況。由於在你的javascript文件中存在linting錯誤,構建失敗javascript – Dan

+0

在你的javascript文件的頂部添加以下代碼: /* global $,jQuery */ 'use strict'; 這將讓jshint知道jquery將會是一個全局變量,並且不會由於在文檔中聲明而拋出錯誤。 請注意:使用嚴格模式可能會出現更多的錯誤取決於您的JavaScript的質量 – Dan