我目前正在开发一个大型
JavaScript项目,而且我正在使用RequireJS来施加一些结构.
我想使用优化器(r.js)配置一个构建,所以我的项目将被捆绑在一个最小化的文件中(出于生产目的).这是很容易的,但是我在项目中有几个包,并希望将每个包都建立到自己的minized javascript文件中.
文件夹结构示例:
src/core/main.js src/core/util/HashMap.js ( src/package1/main.js src/package1/views/view1.js
main.js文件是模块的入口点.
我想配置我的构建,使得在构建完成后,我将具有以下两个输出:
core.min.js package1.min.js
不过我似乎无法让这个工作.使用build config的modules属性似乎并不能最小化每个模块.
任何人都可以清楚我在这里做错什么吗?
解决方法
我遇到了Need.JS要做的一切,正是我自己需要的一切.
我目前正在使用Grunt这个.我将Require.JS plugin for Grunt配置为将十几个模块文件合并成只有2个文件.我使用模块,空:并排除在这里和那里帮助实现这一点. Require.JS仍然是基于其依赖关系组合模块的最佳方法.
然后我使用Uglify plugin for Grunt来分开输出.
虽然这可能对您的用例没有帮助,但我也使用Grunt’s concat plugin来帮助我完成我的输出.
这一切都在Gruntfile.js中,所以一旦文件发生变化,所有这些都会随着grunt watch自动发生,从而使开发刷新测试循环更好.