4

我正在使用 gulp-sourcemaps 为我的 typescripts 文件生成内联源映射,但是我注意到在源映射中我有单个 .ts 文件的源以及连接的 .js 文件。这使文件的大小增加了一倍多。我只会在开发过程中使用 sourcemap 的文件,但无论如何我还是想删除 .js 源。

以下是我的 gulp 文件的相关位:

var es = require('event-stream');
var plug = require('gulp-load-plugins')();

var tsProject = plug.typescript.createProject({
    sortOutput: true,
    declarationFiles: true,
    target: 'es5',
    sourceRoot: './',
    noExternalResolve: true,
    module: 'none'
}); 

var sourceMapsInOptions = {
    loadMaps: true,
    debug: true
};
var sourceMapsOutOptions = {
    includeContent: true,
    sourceRoot: 'ts/',
    debug: true
};

gulp.task('compile:ts', function () {

    var tsResult = gulp.src(['typings/**/*.d.ts', '_references.d.ts', 'spa/**/*.ts'], {base:'spa'})
                    .pipe(plug.sourcemaps.init(sourceMapsInOptions))                    
                    .pipe(plug.typescript(tsProject));

    var js = tsResult.js
        .pipe(plug.concat(config.name + '.js'))
        .pipe(plug.ngAnnotate())

        .pipe(plug.uglify({ output: { beautify: false } }))
        .pipe(plug.sourcemaps.write(sourceMapsOutOptions))

        .pipe(gulp.dest(paths.output));

    var dts = tsResult.dts
        .pipe(plug.concat(config.name + '.d.ts'))
        .pipe(gulp.dest(paths.output));

    return es.merge(js, dts);

});

有没有人知道如何做到这一点?

4

0 回答 0