gruntjs - Visual Studio 2015 中的 UglifyJS 仅在 Release模式下

标签 gruntjs uglifyjs grunt-contrib-watch grunt-contrib-uglify visual-studio-2015

我已经配置了GruntJS在 Visual Studio 2015 中使用 UglifyJS 缩小我的 JavaScript 文件。工作正常。

但是,我希望仅当 Visual Studio 处于 Release模式时才会发生这种情况。在 Debug模式下,我想调试我的 JavaScript 文件,而缩小的 JavaScript 很难(不可能)调试。

最佳答案

我使用 ASP.Net 5 任务运行程序使用以下方法解决了此问题。

我的解决方案具有以下文件夹层次结构。

Solution
->wwwroot
->Scripts
  ->app.js
  ->Controllers
    ->controller1.js
    ->controller2.js

1.) 文件监视程序监视 Scripts 目录和所有子文件夹。

2.) 当检测到文件更改时,所有 *.js 文件都会从脚本文件夹复制到其脚本文件夹中的 wwwroot 目录。

3.) 然后,uglify 任务在 wwwroot 目录中的脚本文件夹上运行,这会将其缩小为由 html 应用程序引用的单个 app.js 文件。

uglify 任务将 sourceMap 选项打开,允许 javascript 调试器在 Debug模式下引用脚本,但当不在 Debug模式下运行时,将使用缩小的脚本。

module.exports = function (grunt) {
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-copy');

grunt.initConfig({
    copy: {
        main: {
            files: [
                {
                    expand: true,
                    src: ['Scripts/app.js', 'Scripts/Controllers/**'],
                    dest: 'wwwroot'
                }
            ]
        }
    },
    uglify: {
        my_target: {
            files: { 'wwwroot/app.js': ['wwwroot/Scripts/app.js', 'wwwroot/Scripts/**/*.js'] },
            options : {sourceMap : true}
        }
    },
    watch: {
        scripts: {
            files: ['Scripts/app.js','Scripts/**/*.js'],
            tasks: ['copy:main', 'uglify']
        }
    }
});

grunt.registerTask('default', ['copy:main', 'uglify', 'watch:scripts']);
};

关于gruntjs - Visual Studio 2015 中的 UglifyJS 仅在 Release模式下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29768075/

相关文章:

gruntjs - 保持点分隔文件 grunt-babel

npm - 强制grunt插件更新

javascript - Grunt uglify 后,Angular Controller 模块无法实例化

javascript - 咕噜声 : Dist folder not created after grunt command

javascript - Browserify、minifyify、条件编译

javascript - Grunt uglify 0.5 不写源图吗?

javascript - 如何在 Play 2.3.1 模板中启用缩小的 JavaScript 文件?

javascript - Grunt Watch 任务不触发 Uglify 任务

javascript - Grunt "watch"警告 : Path must be a string. 收到未定义

node.js - Grunt 不返回任何内容