Grunt和grunt-contrib-uglify - localhost

时间:2016-02-11 13:24:12

标签: google-chrome firefox gruntjs grunt-contrib-uglify

问题第1部分

在我目前的设置中,我有一个如下所示的文件夹:

/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并没有显示,我不能使用我依赖的源码调试。

Error appearance in Chrome enter image description here

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'],
        }
    },

}

没有痛苦地重新安排我的目录结构......我该如何解决这个问题呢?

问题第2部分:

我尝试过使用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中没有任何效果。

0 个答案:

没有答案