我设置了两个任务。一个 webpack 任务和一个注入任务。
网页包:
gulp.task('webpack', (done) => {
gulp.src('./src/app/app.module.js')
.pipe(plugins.webpack({
module: {
loaders: [
{ test: /\.html$/, loaders: ["html"]},
{ test: /\.js$/, exclude: /(node_modules|bower_components)/, loaders: ['babel-loader']}
]
}
}))
.pipe(gulp.dest('.tmp/scripts/'))
done();
})
注入:
gulp.task('inject', ['webpack'], () => {
var globalSources = gulp.src(['.tmp/scripts/*.js'], {read: false});
return gulp.src('src/index.html')
.pipe(plugins.plumber())
.pipe(plugins.inject(globalSources, {
addRootSlash: false,
addPrefix: '.',
ignorePath: '.tmp'
}))
.pipe(gulp.dest('.tmp/'));
})
我发现 webpack 任务会在将流文件放入 .tmp/scripts 文件夹之前说它已经完成。因此,当进行注入时,没有要注入的文件。
webpack-stream 是否输出了在 done() 之前使用的自己的回调?