使用Gulp如何首先编译Typescript,然后将结果连接起来并将其丑化?

Mus*_*kat 3 javascript typescript tsc gulp gulp-typescript

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/'));
});
Run Code Online (Sandbox Code Playgroud)

换句话说,我需要做的是:

  1. 获取外部JavaScript库。
  2. 得到Typescripts
  3. Typescripts与源映射一起编译。
  4. 将结果连接到先前添加的JavaScript
  5. 丑化他们。
  6. 创建源映射。
  7. 将结果保存到某个文件夹中。

更新资料

或只是一种方法,以确保在TypeScript之前将结果连接在一起之前已编译JavaScript

Mik*_*red 5

如果您需要event-streamnpm 的软件包,则可以执行以下操作:

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/'));
});
Run Code Online (Sandbox Code Playgroud)

我不知道该如何生成地图,但是我敢肯定很容易弄清楚。