使用gulp-sourcemaps在Visual Studio 2017中调试捆绑的JavaScript文件

时间:2017-03-24 15:46:47

标签: visual-studio-2017 tsconfig gulp-sourcemaps

我有一个带有AngularJS代码的asp.Net Core应用程序,在gulpfile.js中有以下任务:

gulp.task("concat_app:js", function () {
    return gulp.src(js_app, { base: 'wwwroot/' })
        .pipe(sourcemaps.init({
            loadMaps: true,
            identityMap: true,
            largeFile: true
        }))
        .pipe(concat(paths.js_app_dest))
        .pipe(sourcemaps.write('.', {
            includeContent: false,
            mapSources: function (sourcePath, file) {
                return '../' + sourcePath;
            }
        }))
        .pipe(gulp.dest("."));
});

如果我尝试在chrome中调试一切正常,我的文件夹结构也是正确的: structure in chrome developer tools

但是当我尝试在Visual Studio 2017中进行调试时,似乎没有正确映射,因为当我设置断点时,它会出现在其他文件中。我使用tsconfig.json尝试了相同的操作:

{
  "compileOnSave": true,
  "compilerOptions": {
    "allowJs": true,
    "sourceMap": true,
    "target": "es5",
    "jsx": "react",
    "outFile": "wwwroot/js/app.js"
  },
  "include": [
    "wwwroot/ngApp/*.js",
    "wwwroot/ngApp/**/*.js"
  ],
  "exclude": []
}

这将生成如下的mapfile:

{
  "version": 3,
  "file": "app.js",
  "sourceRoot": "",
  "sources": [ "../ngApp/_app.js", "../ngApp/_config/appConfig.js" "..." ],
  "names": [],
  "mappings": "AAAA,CAAC;IACG,YAAY,..."
}

这里也似乎以某种方式映射错误,我设置了一个断点,它出现在其他地方。我的web应用程序也停止了,但我无法在Visual Studio中继续。

我更喜欢使用gulp-sourcemaps,但我很难设置正确的目录。这可能是问题的一部分,因为我的gulpfile.js不在wwwroot文件夹中吗? project in visual studio

编辑:在使用tsconfig时,似乎总是在第一个文件(_app.js)中设置断点。我在这里错过了什么?

0 个答案:

没有答案