0

我是 GruntJS 的新手,目前正在将 Uglify 添加到我的项目中。

我已经对其进行了设置,因此它将我所有的 JS 编译到一个文件中,但是在开发时,我希望它不要压缩代码。

查看doc,我看到它有一个布尔选项,但是,即使有:

...
options: {
  compress: false
}
...

它仍然压缩它。

我错过了什么?

4

1 回答 1

0

我使用 grunt-contrib-concat 进行连接,然后使用 grunt-contrib-uglify 缩小生成的连接文件。

作为参考,我的 concat 任务如下所示:

concat : {
    options : {
        stripBanner : true
},
    head : {
        src : [header1.js, header2.js, header3.js],
        dest : ['/path/to/js/tmpfolder/', '<%=pkg.name %>.header.js'].join('/')
    },
    app : {
       src : [app1.js, app2.js, app3.js],
       dest : ['/path/to/js/tmpfolder/', '<%=pkg.name %>.app.js'].join('/')
    }
}

我的 uglify 任务是这样的:

uglify : {
    all : {
        options : {
            banner : "/*! <%= pkg.name %> - v<%= pkg.version %> - <%= grunt.template.today(\"yyyy-mm-dd\") %> \n <%= pkg.author %> */",
            dead_code : true
    },
        files : uglifyFiles
     }
}

这很烦人,但我还需要定义 uglifyFiles,我这样做是这样的:

uglifyFiles = {};
uglifyFiles['/path/to/js/tmpfolder/<%=pkg.name %>.header.min.js'] =  '/path/to/js/tmpfolder/<%=pkg.name %>.header.js';
uglifyFiles['/path/to/js/tmpfolder/<%=pkg.name %>.app.min.js'] = '/path/to/js/tmpfolder/<%=pkg.name %>.app.js';
于 2013-11-11T19:11:51.460 回答