我正在使用 Typescript
开发一个项目,目前我在编译 Typescript
时遇到问题,然后使用 Gulp
连接结果。
var gulp = require('gulp');
var ts = require('gulp-typescript');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
gulp.task('default', function () {
gulp.src('vendor/**/*.js')
// I want to add ts files then combile and concat
.gulp.src('src/**/*.ts')
.pipe(sourcemaps.init())
.pipe(ts({
noImplicitAny: true,
out: 'output.js'
}))
.pipe(concat('all.js'))
.pipe(uglify());
.pipe(sourcemaps.write('/'))
.pipe(gulp.dest('./dist/'));
});
换言之,我需要做的是:
- 获取外部
JavaScript
库。 - 获取
Typescripts
。 - 使用 source map 编译
Typescripts
。 - 将结果连接到之前添加的
JavaScript
。 - 丑化他们。
- 创建源图。
- 将结果保存到某个文件夹中。
Update
Or just a way to make sure that the
TypeScript
is compiled before proceeding with concatenating the result withJavaScript
.
最佳答案
如果你需要来自 npm 的 event-stream
包,那么你可以这样做:
var merge = require('event-stream').merge;
gulp.task('default', function() {
var js = gulp.src('vendor/**/*.js');
var ts = gulp.src('src/**/*.ts')
.pipe(ts({
noImplicitAny: true,
out: 'output.js'
}));
return merge(js, ts)
.pipe(concat('all.js'))
.pipe(uglify())
.pipe(gulp.dest('./dist/'));
});
我不太清楚源 map 是如何工作的,但我相信这很容易弄清楚。
关于javascript - 使用 Gulp 如何先编译 Typescript 然后连接结果并对其进行 uglify?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36160066/