我users.ts
在子目录中有一个打字稿文件routes
。
中的gulp代码gulpfile.js
:
var tsProject = ts.createProject(tsConfigFile);
return tsProject.src()
.pipe(sourcemaps.init())
.pipe(ts(tsProject))
.js
.pipe(sourcemaps.write('.', {includeContent: false, sourceRoot: ''}))
.pipe(gulp.dest('.'));
生成的源映射gulp-sourcemaps
不适用于VSCode:
{"version":3,"sources":["routes/users.ts"],"names":[], "mappings":"...","file":"routes/users.js","sourceRoot":""}
由VSCode生成的sourcemap可以tsc
正常工作:
{"version":3,"file":"users.js","sourceRoot":"","sources":["users.ts"],"names":[], "mappings":"..."}
并且VSCode断点可以与.NET生成的源映射配合使用tsc
。
那么,如何配置gulp-typescript/gulp-sourcemaps
生成与之相同的源映射tsc
呢?
这与Gulp Typescript + Browserify中的 问题相同;捆绑的sourcemap指向已编译的JS,而不是源TS。
将sourceRoot函数添加到sourcemaps.write(...)
假设您的.ts
文件位于src
项目的文件夹中,sourcemaps
管道将如下所示:
.pipe(sourcemaps.write('.', {
sourceRoot: function(file){ return file.cwd + '/src'; }
}))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句