我在构建app的项目中有gulp任务。这是我的一个监视任务,如果我们修改任何.ts文件,它将重建整个打字稿更改。
gulp.watch([
path.join(conf.paths.src, '/app/**/*.js'),
path.join(conf.paths.src, '/app/**/*.ts'),
path.join(conf.paths.root, './index.js'),
path.join(conf.paths.root, './lib/**/*.*')
], function (event) {
gulp.start('inject');
}
});
下面是我的注入任务,它实际上编译了需要的文件。
function injection() {
var injectStyles = gulp.src([
path.join(conf.paths.tmp, '/serve/app/**/*.css'),
path.join('!' + conf.paths.tmp, '/serve/app/vendor.css')
], { read: false });
var injectScripts = gulp.src([
path.join(conf.paths.tmp, '/serve/environment.js'),
path.join(conf.paths.src, '/app/**/*.module.js'),
path.join(conf.paths.src, '/app/**/*.js'),
path.join('!' + conf.paths.src, '/app/**/*.spec.js'),
path.join('!' + conf.paths.src, '/app/**/*.mock.js')
])
.pipe($.angularFilesort()).on('error', conf.errorHandler('AngularFilesort'));
var injectOptions = {
ignorePath: [conf.paths.src, path.join(conf.paths.tmp, '/serve')],
addRootSlash: false
};
return lazypipe()
.pipe($.inject, injectStyles, injectOptions)
.pipe($.inject, injectScripts, injectOptions)
.pipe(wiredep, _.extend({}, conf.wiredep))();
};
gulp.task('inject', ['environment', 'scripts', 'styles'], function () {
return gulp.src(path.join(conf.paths.src, '/*.html'))
.pipe(wireapp({
"hybridMode": conf.mode.hybrid,
"compile": false
}))
.on('error', conf.errorHandler)
.pipe(injection())
.pipe(gulp.dest(path.join(conf.paths.tmp, '/serve')));
});
在更改为typescript文件时,这些操作正在执行,但在应用程序UI中,除非明确重新启动服务器,否则不会反映这些操作。