当前位置:  开发笔记 > 编程语言 > 正文

VSCode断点不能在带有gulp-sourcemaps生成的源映射的typescript中工作

如何解决《VSCode断点不能在带有gulp-sourcemaps生成的源映射的typescript中工作》经验,为你挑选了1个好方法。

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中正常生成的tsc源映射:

{"version":3,"file":"users.js","sourceRoot":"","sources":["users.ts"],"names":[], "mappings":"..."}

并且VSCode断点与生成的源映射一起正常工作tsc.

那么如何配置gulp-typescript/gulp-sourcemaps生成相同的源图tsc



1> v-andrew..:

这与Gulp Typescript + Browserify中的 问题相同; 捆绑的源映射指向转换的JS而不是源TS
添加sourceRoot函数sourcemaps.write(...)
假设您的.ts文件在src项目的文件夹中,sourcemaps管道将如下所示:

.pipe(sourcemaps.write('.', {
           sourceRoot: function(file){ return file.cwd + '/src'; }
      }))

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有