gpt4 book ai didi

javascript - 使用 Gulp 如何先编译 Typescript 然后连接结果并对其进行 uglify?

转载 作者:搜寻专家 更新时间:2023-10-30 21:02:54 26 4
gpt4 key购买 nike

我正在使用 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/'));
});

换言之,我需要做的是:

  1. 获取外部 JavaScript 库。
  2. 获取 Typescripts
  3. 使用 source map 编译 Typescripts
  4. 将结果连接到之前添加的 JavaScript
  5. 丑化他们。
  6. 创建源图。
  7. 将结果保存到某个文件夹中。

Update

Or just a way to make sure that the TypeScript is compiled before proceeding with concatenating the result with JavaScript.

最佳答案

如果你需要来自 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com