所需步骤
clean build
目录。compile typescript files
然后将编译好的文件放入构建目录。inject compiled files
作为 index.html 的脚本,然后将其放入构建目录。
项目结构
-- build
-- src
--app
--app.ts
..
-- index.html
索引.html
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<!-- inject:js -->
<!-- endinject -->
</body>
</html>
吞咽任务
"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
,没有打印出消息。
我认为运行顺序存在问题。您能帮我找出问题以及如何解决吗?