我正在尝试同时使用gulp-watch和gulp-inject来构建我的 Node Web 应用程序。但是,一旦涉及 gulp-watch,涉及 gulp-inject 的构建步骤似乎将无法工作。看起来,原因是watch流永远不会结束,而 gulp-inject 不知道何时开始。
我的 gulpfile 如下所示:
var gulp = 需要('gulp')
var inject = require('gulp-inject')
var sass = require('gulp-sass')
var path = require('path')
var bower = require('gulp-bower')
var bowerFiles = require('main-bower-files')
var react = require('gulp-react')
var watch = require('gulp-watch')
var 水管工 = 要求('gulp-水管工')
var bowerDir = './bower_components/'
gulp.task('凉亭', function () {
返回凉亭()
})
gulp.task('default', function () {
var css = watch('./stylesheets/*.scss')
.pipe(管道工())
.pipe(萨斯({
包括路径:[
bowerDir + 'bootstrap-sass-official/assets/stylesheets',
]
}))
.pipe(gulp.dest('./public/css'))
var jsxFiles = watch(['./jsx/about.js', './jsx/home.js', './jsx/app.js'])
.pipe(管道工())
.pipe(反应())
.pipe(gulp.dest('./public/js'))
var bowerJs = gulp.src(bowerFiles(), {read: false})
观看('./views/index.html')
.pipe(管道工())
// 不产生输出 - 大概是因为 watch source 没有结束它的流
.pipe(注入(css))
.pipe(注入(bowerJs, {name: 'bower'}))
.pipe(注入(jsxFiles, {name: 'jsx'}))
.pipe(gulp.dest('./public/html'))
})
如何成功结合 gulp-watch 和 gulp-inject?
你可以在GitHub 上看到我的完整项目。