如何使用gulp在不同的文件中而不是在javascript文件中创建Typescript源映射

How can I use gulp to create Typescript sourcemaps in different files rather than inside the javascript files?

本文关键字:文件 创建 javascript Typescript 映射 何使用 gulp      更新时间:2023-09-26

我有一个使用gulp的项目。我希望将打字稿文件转换为javascript,并具有源映射。这是我现在拥有的:

var sourcemaps = require('gulp-sourcemaps');
var typescript = require('gulp-typescript');
gulp.task('typescript', function () {
    gulp.src('app/**/*.ts')
        .pipe(typescript())
        .pipe(sourcemaps.init())     
        .pipe(sourcemaps.write())
        .pipe(gulp.dest('app'))    
});

这部分有效,但源映射都出现在 javascript 中。谁能告诉我如何制作它,以便它为每个 javascript 创建一个源映射文件,而不是将地图放在里面?

您正在编写内联sourcemaps.write()

来自 gulp-sourcemaps 存储库

要写入外部源映射文件,请传递相对于 目标到 sourcemaps.write()。

应该是——

var sourcemaps = require('gulp-sourcemaps');
var typescript = require('gulp-typescript');
gulp.task('typescript', function () {
    gulp.src('app/**/*.ts')
        .pipe(sourcemaps.init())
        .pipe(typescript())
        .pipe(sourcemaps.write('../maps'))
        .pipe(gulp.dest('app'))    
});

看看这是否能解决您的问题。