Gulp 使用 运行-sequence 调用时注入任务不起作用
Gulp inject task doesn't work when calling with run-sequence
所需步骤
clean build
目录。
compile typescript files
然后把编译好的文件放到build目录下
inject compiled files
作为 index.html 的脚本,然后将其放入构建目录。
项目结构
-- build
-- src
--app
--app.ts
..
-- index.html
index.html
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<!-- inject:js -->
<!-- endinject -->
</body>
</html>
Gulp 任务
"devDependencies": {
"del": "^2.2.0",
"gulp": "^3.9.0",
"gulp-inject": "^3.0.0",
"gulp-typescript": "^2.10.0",
"run-sequence": "^1.1.5"
}
gulp.task('clean', function() {
return del('build');
});
gulp.task('ts', funtion() {
var tsProject = ts.createProject('tsconfig.json');
return tsProject.src('src/**/*.ts')
.pipe(ts(tsProject))
.js.pipe(gulp.dest('build'));
});
gulp.task('inject', funtion() {
return gulp.src('index.html')
.pipe(inject(gulp.src('build/**/*.js', {read: false}), {ignorePath: 'build', relative: true}))
.pipe(gulp.dest('build'));
});
gulp.task('build', function() {
runSequence('clean', 'ts', 'inject');
});
问题
当我执行 gulp ts && gulp inject
时,它运行良好。
当我执行 gulp build
时,inject
不工作,没有消息打印出来。
我认为 运行 序列有问题。你能帮我找出问题所在以及如何解决吗?
经过几个小时的挖掘,我意识到当任务 returns 一个不合适的流时,运行-sequence 停止 运行 没有警告或错误。
希望这对遇到同样问题的其他人有所帮助。
所需步骤
clean build
目录。compile typescript files
然后把编译好的文件放到build目录下inject compiled files
作为 index.html 的脚本,然后将其放入构建目录。
项目结构
-- build
-- src
--app
--app.ts
..
-- index.html
index.html
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<!-- inject:js -->
<!-- endinject -->
</body>
</html>
Gulp 任务
"devDependencies": {
"del": "^2.2.0",
"gulp": "^3.9.0",
"gulp-inject": "^3.0.0",
"gulp-typescript": "^2.10.0",
"run-sequence": "^1.1.5"
}
gulp.task('clean', function() {
return del('build');
});
gulp.task('ts', funtion() {
var tsProject = ts.createProject('tsconfig.json');
return tsProject.src('src/**/*.ts')
.pipe(ts(tsProject))
.js.pipe(gulp.dest('build'));
});
gulp.task('inject', funtion() {
return gulp.src('index.html')
.pipe(inject(gulp.src('build/**/*.js', {read: false}), {ignorePath: 'build', relative: true}))
.pipe(gulp.dest('build'));
});
gulp.task('build', function() {
runSequence('clean', 'ts', 'inject');
});
问题
当我执行 gulp ts && gulp inject
时,它运行良好。
当我执行 gulp build
时,inject
不工作,没有消息打印出来。
我认为 运行 序列有问题。你能帮我找出问题所在以及如何解决吗?
经过几个小时的挖掘,我意识到当任务 returns 一个不合适的流时,运行-sequence 停止 运行 没有警告或错误。 希望这对遇到同样问题的其他人有所帮助。