从 gulp 任务运行 npm 脚本
如何从 gulp 任务中运行 npm 脚本命令?
How to run a npm script command from inside a gulp task?
package.json
package.json
"scripts":
{
"tsc": "tsc -w"
}
gulpfile.js
gulpfile.js
gulp.task('compile:app', function(){
return gulp.src('src/**/*.ts')
.pipe(/*npm run tsc*/)
.pipe(gulp.dest('./dist'))
.pipe(connect.reload());
});
我想这样做是因为运行 npm run tsc
不会给我任何错误,但如果我使用 gulp-typescript
编译 .ts
然后我得到一堆错误.
I want to do this because running npm run tsc
does not give me any error but if I use gulp-typescript
to compile .ts
then I get bunch of errors.
推荐答案
你可以使用 gulp-typescript
var gulp = require('gulp');
var ts = require('gulp-typescript');
gulp.task('default', function () {
var tsProject = ts.createProject('tsconfig.json');
var result = tsProject.src().pipe(ts(tsProject));
return result.js.pipe(gulp.dest('release'));
});
gulp.task('watch', ['default'], function() {
gulp.watch('src/*.ts', ['default']);
});
然后在你的 package.json
"scripts": {
"gulp": "gulp",
"gulp-watch": "gulp watch"
}
然后运行
npm run gulp-watch
<小时>
或者使用 shell
var gulp = require('gulp');
var shell = require('gulp-shell');
gulp.task('default', function () {
return gulp.src('src/**/*.ts')
.pipe(shell('npm run tsc'))
.pipe(gulp.dest('./dist'))
.pipe(connect.reload());
});
gulp-shell
已经是 被列入黑名单你可以在这里看到原因
另一种选择是设置 webpack
.
相关文章