問題描述
以下是我的 gulpfile.js.里面還有幾個任務,一切都運行良好 - 但最后一個任務,watch
沒有.
Following is my gulpfile.js. There are a couple of more tasks in it and all are working fine - but the last task, watch
doesn't.
我已經嘗試了所有可能的路徑和文件組合,但我仍然沒有運氣.我在這里閱讀了很多關于此的答案,但無法解決我的問題.我嘗試在需要和不需要 gulp-watch 的情況下運行 gulp.watch,嘗試了幾種不同的方法來設置任務等等......
I've tried every possible combination of paths and files and what so ever, but still I don't have luck. I've read many answers on this here, but couldn't solve my problem. I tried to run gulp.watch with and without requiring gulp-watch, tried several different approaches on how to set up the task and so on and so on...
var gulp = require('gulp');
var browserify = require('browserify');
var babelify = require('babelify');
var source = require('vinyl-source-stream');
var watch = require('gulp-watch');
gulp.task('application', function() {
return browserify('./public/resources/jsx/application.js')
.transform(babelify, { stage: 0 })
.bundle()
.on('error', function(e){
console.log(e.message);
this.emit('end');
})
.pipe(source('appBundle.js'))
.pipe(gulp.dest('./public/resources/jsx'));
});
gulp.task('watch', function() {
gulp.watch('./public/resources/jsx/project/*.js',['application'])
});
有人可以提出解決方案嗎?
Can someone suggest a solution?
這是控制臺輸出:
michael@michael-desktop:/opt/PhpstormProjects/app_april_2015$ gulp watch
[23:05:03] Using gulpfile /opt/PhpstormProjects/app_april_2015/gulpfile.js
[23:05:03] Starting 'watch'...
[23:05:03] Finished 'watch' after 13 ms
推薦答案
你應該return
觀看:
gulp.task('watch', function() {
return gulp.watch('./public/resources/jsx/project/*.js',['application'])
});
watch
是一個 async
方法,所以 Gulp 知道某事正在發生的唯一方法是如果你返回一個 promise
,它會監視可以.
watch
is an async
method, so the only way Gulp can know that something is happening is if you return a promise
, which watch does.
編輯
正如@JMM 所說,watch
不會返回 Promise.它返回一個 EventEmitter.
As @JMM stated, watch
doesn't return a Promise. It returns an EventEmitter.
這篇關于gulp watch 不看的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!