我有一个带有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)中设置断点。我在这里错过了什么?