我正在开发一个Typescript项目,该项目被转换为ES5 JS,然后通过browserify运行以创建单个.js包和源图.捆绑的源映射指向已转换的JS而不是源TS,即使我正在生成源映射,这些源映射在转换为JS时正确指向源TS.
就好像browserify忽略了指向TS代码的现有源图并创建了自己的新映射到已编译的JS代码.
以下是我的gulp任务供参考 - 代码被编译到临时文件夹,然后从那里进行浏览.这使用browserify-incremental来支持增量编译.
谢谢!
注意:通过其他SO问题,我已经尝试过使用tsify,根据我的理解,它不适用于我的项目,因为我们使用import syntax&commonjs,它报告编译问题,其中tsc和gulp-typescript没有(相同的错误,无论是否通过使用gulp或通过CLI).我也试过minifyify,但它没有解决问题.
var gulp = require('gulp'),
ts = require('gulp-typescript'),
browserify = require('browserify'),
browserifyInc = require('browserify-incremental'),
source = require('vinyl-source-stream'),
del = require('del'),
sourcemaps = require('gulp-sourcemaps'),
buffer = require('vinyl-buffer'),
xtend = require('xtend');
var tsProject = ts.createProject('tsconfig.json');
//COMPILE TS
gulp.task('compileTs', function () {
var sourceTsFiles = [config.src.tsFiles, config.src.tsTypes];
var tsResult = gulp.src(sourceTsFiles)
.pipe(sourcemaps.init())
.pipe(ts(tsProject));
return tsResult.js
.pipe(sourcemaps.write('.', {
//includeContent: false,
//sourceRoot: "../../src/js/"
}))
.pipe(gulp.dest(config.tempDir));
});
//BUNDLE BUILT TS->JS
gulp.task('bundleJs', …Run Code Online (Sandbox Code Playgroud)