Gruntjs 仅在发布模式下Visual Studio 2015中的UglifyJS
我已经在Visual Studio 2015中配置了使用来缩小我的JavaScript文件。很好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
但是,我希望只有当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']);
};