必修步骤
clean build
目录。compile typescript files
然后将编译后的文件放入构建目录。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
不起作用,不会打印出任何信息。
我认为运行序列存在问题。能帮我解决问题以及如何解决问题吗?
答案 0 :(得分:1)
经过几个小时的挖掘后,我意识到当一个任务返回一个不合适的流时,run-sequence会在没有警告或错误的情况下停止运行。 希望这可以帮助其他有同样问题的人。