在我目前的设置中,我有一个如下所示的文件夹:
/wwwroot <-- Hosted in localhost
/_project <-- Contains gruntfile.js
/_dev <-- Contains Source Code
wwwroot
文件夹托管在XAMPP中,并在我的浏览器中打开。 _project
文件夹包含我的gruntfile.js
,_dev
包含由Grunt编译为JS和CSS的所有JS和SCSS。
这已经运行了一年或两年,但最近,我更新了我的软件包,生成的源图已经开始破坏。 Chrome在源代码中显示空白代码面板,Firefox Dev在源代码面板中显示404错误的HTML。现在正在/wwwroot
文件夹中查找源代码。因此,源404并没有显示,我不能使用我依赖的源码调试。
Gruntfile的相关部分:
uglify: {
common: {
options: {
mangle: false,
compress: true, // true or false or {}
preserveComments: 'all', // true or 'all' or 'some'
sourceMap : true
},
files: {
// '../wwwroot/Content/includes/js/libs.js': ['../_dev/js/common/libs/*.js'],
'../wwwroot/Content/includes/js/buildbar.js': ['../_dev/js/common/buildbar/*.js'],
'../wwwroot/Content/includes/js/framework.js': ['../_dev/js/common/framework/*.js'],
}
},
}
没有痛苦地重新安排我的目录结构......我该如何解决这个问题呢?
我尝试过使用grunt-uglify-contrib的sourceMapRoot
选项,如下所示:
uglify: {
common: {
options: {
mangle: false,
compress: true, // true or false or {}
preserveComments: 'all', // true or 'all' or 'some'
sourceMap : true,
sourceMapRoot: "C:/Users/quint/Documents/Github/build-siteengine/a/a/a/a"
},
files: {
// '../wwwroot/Content/includes/js/libs.js': ['../_dev/js/common/libs/*.js'],
'../wwwroot/Content/includes/js/buildbar.js': ['../_dev/js/common/buildbar/*.js'],
'../wwwroot/Content/includes/js/framework.js': ['../_dev/js/common/framework/*.js'],
}
},
}
出于某种原因,Firefox Dev的Sources面板中显示的路径缺少四个目录,因此我添加了/a/a/a/a
。为什么会发生这种情况?
这也无法解决我的问题,因为在Firefox Dev中点击行号在浏览器中打开文件并且不要将我带到调试器中的代码行,而在Chrome中没有任何效果。