Gruntjs 仅在发布模式下Visual Studio 2015中的UglifyJS

Gruntjs 仅在发布模式下Visual Studio 2015中的UglifyJS,gruntjs,uglifyjs,grunt-contrib-watch,grunt-contrib-uglify,visual-studio-2015,Gruntjs,Uglifyjs,Grunt Contrib Watch,Grunt Contrib Uglify,Visual Studio 2015,我已经在Visual Studio 2015中配置了使用来缩小我的JavaScript文件。很好 但是,我希望只有当VisualStudio处于发布模式时才会发生这种情况。在调试模式下,我想调试我的JavaScript文件,而缩小的JavaScript很难(不可能)调试 我的解决方案具有以下文件夹层次结构 Solution ->wwwroot ->Scripts ->app.js ->Controllers ->controller1.js

我已经在Visual Studio 2015中配置了使用来缩小我的JavaScript文件。很好


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

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

Solution
->wwwroot
->Scripts
  ->app.js
  ->Controllers
    ->controller1.js
    ->controller2.js
1.)文件监视程序监视脚本目录和所有子文件夹

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

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

uglify任务将sourceMap选项设置为turn,这允许javascript调试器在调试模式下引用脚本,但在未在调试模式下运行时,将使用缩小的脚本

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']);
};