我是Grunt的新手,我正在尝试使用此配置
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
// Define our source and build folders
js_src_path: 'javascripts',
js_build_path: "build/js",
// Grunt Tasks
concat: {
options:{
separator: ';'
},
js: {
src: ['<%= js_src_path %>/*.js'],
dest: '<%= js_build_path %>/app.js'
} },
uglify: {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
},
js: {
src: '<%= concat.js.dest %>',
dest:'<%= js_build_path %>/app.min.js'
}
}
}
);
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-uglify');
// Default task.
grunt.registerTask('default', ['concat', 'uglify']);
};
但我有这样的信息:
Running "concat:js" (concat) task
File "build/js/app.js" created.
Running "uglify:build" (uglify) task
>> Uglifying source "build/js/app.js" failed.
Warning: Uglification failed. Use --force to continue.
Aborted due to warnings.
我的配置有什么问题吗?
由于
答案 0 :(得分:0)
我认为你现在可能已经开始了,但如果JavaScript出现问题,uglify可能会失败。它不像JSHint那么严格,但如果你只是有不好的JS,那么uglify就会出现问题。
这也可能是因为脚本的顺序错误(即尝试在jQuery之前加载jQuery插件,也许?)。
答案 1 :(得分:0)
这里的问题是grunt-contrib-uglify在压缩“无结肠”或“紧凑”javascript时会返回此错误。
这是合法的javascript,但它甚至不会(对我而言)像同一种语言!请参阅此错误报告https://github.com/gruntjs/grunt-contrib-uglify/issues/29顶部的简短示例。
有关此“紧凑风格”的更多信息,请参阅: http://blog.izs.me/post/2353458699/an-open-letter-to-javascript-leaders-regarding
似乎grunt-contrib-uglify应该能够处理任何有效的javascript - 但事实并非如此。