Uglify JS意外的令牌运算符<< - >>,预期的punc<<:>>

时间:2014-01-18 00:50:48

标签: gruntjs uglifyjs

当我尝试在下面的行中使用Grunt uglify js进行uglify和concat时,

ember-data:'ember'

丑化失败。如何让uglifyjs跳过检查<< - >>?

grunt config:

module.exports = function(grunt){
grunt.initConfig({
    pkg : grunt.file.readJSON('package.json'),
    concat : {
        options : {
            seperator :  ';'
        },
        dist : {
            src : ['js/*.js'],
            dest : 'output.min.js'
        }
    },
    uglify : {
        options : {
            banner : '/*! <%=grunt.template.today("dd-mm-yyyy")%> */\n'
        },
        dist : {
            files : {
                'dist/output.min.js' : ['<%= concat.dist.dest%>']
            }
        }
    },


});
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-concat');

grunt.registerTask('default', ['concat', 'uglify']);

}

我的config.js是

require.config({
baseUrl: 'js',
shim: {
    ember: {
        deps: ['handlebars', 'jquery'],
        exports: 'Ember'
    },
    ember-data: 'ember',
    bootstrap: 'jquery',
    handlebars: ['Handlebars']
},
paths: {
    'App': '\js\application\app',
    'models': '',
    'views': '',
    'controllers': '',
    'templates': '',

    /*LIBRARIES*/
    'jquery': '\libs\jquery\jquery',
    'handlebars': '\libs\handlebars\handebars-1.1.2',
    'ember': '\libs\ember\ember-1.2.0',
    'ember-data' : '\libs\ember\ember-data'
    'bootstrap': '\libs\bootstrap\bootstrap.min.js',

    /*REQUIRE JS PLUGINS*/
    'text': '\libs\require\require plugins\text',
    'hbs': '\libs\require\require plugins\hbs',
    'domReady': '\libs\require\require plugins\domReady'
},
hbs: {
    disableI18n: true,
    templateExtension: 'hbs'
},

'App',
'store',
'router'    

});

谢谢

1 个答案:

答案 0 :(得分:8)

这不是一个丑陋的问题。

这部分JavaScript文件无效:

shim: {
ember: {
    deps: ['handlebars', 'jquery'],
    exports: 'Ember'
},
ember-data: 'ember',
bootstrap: 'jquery',
handlebars: ['Handlebars']
},

您需要将ember-data: 'ember'更改为'ember-data': 'ember'。记住报价!