首页 > Grunt如何在开发模式下不合并js/css文件?

Grunt如何在开发模式下不合并js/css文件?

假设有a.jsb.js两个文件,在发布的时候需要将两个js文件合并为lib.js;开发的时候则不需要合并,直接引用源代码就好。

即在开发模式下,生成如下代码片段:

<script src="a.js"></script>
<script src="b.js"></script>

在生产环境中,生成如下代码片段:

<script src="lib.js"></script>

看了下grunt-contrib-uglify貌似没有提供此功能,不知道Grunt下有没有好的解决方案?
(嗯,对于css也有这样的需求)


uglify可以实现合并的效果,不过是压缩版的。。


推荐使用requirejs管理模块,发布上线时使用grunt-contrib-requirejs合并、压缩代码css和js代码
图片压缩使用grunt-contrib-imagemin
html压缩使用grunt-contrib-htmlmin
静态资源可以使用grunt-filerev和grunt-usemin进行文件重命名和资源替换,CDN前缀替换可以使用grunt-text-replace

或者直接使用yoeman,但感觉yoeman还是有些笨重

http://tuan.sogou.com/201405.html

这个页面就是使用以上几个插件做的完整例子,可以参考一下


推荐楼主使用yeoman,会省很多这样的心的,你只用正常的在页面内引用js,发布的时候已经配置好usemin等任务帮你合并成一个引用


合并的话,不是用grunt-contrib-concat么?concat支持多任务。

uglify是minify用的。


对这个问题其实有多种解决方案,最简单的也是最易实现的请见:grunt-usemin


我发现现在的人回答问题的时候都不带好好审题的么?不管会不会都乱答一通,真是蛋疼。
话说,我也是搜这个问题才到这的,然而并没有什么卵用,根本没看到有价值的答案。现在我的做法就是:

uglify: {
  one2one: [{
    expand: true,
    cwd: './src/js/',
    src: ['*.js'],
    dest: '.dist/js/'
  }]
}

那你还不如用grunt-contrib-requirejs呢。
测试的文件,命名为dev,打包后,打包到build文件中。
测试就在dev文件夹下测试页面,想测试打包后的文件是否正确,就在build中测试。

【热门文章】
【热门文章】