我目前正在开发一个大型 JavaScript 项目,我正在使用 RequireJS 来强加一些结构。
我想使用优化器 (r.js) 配置构建,因此我的项目将被捆绑在一个缩小文件中(用于生产目的)。这相当容易,但是我的项目中有几个包,并且希望每个包都构建到自己的缩小 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
但是我似乎无法让它工作。使用构建配置的 modules
属性似乎不会缩小每个模块。
谁能解释我在这里做错了什么?
最佳答案
我很难让 Require.JS 完全按照我自己需要的方式完成所有事情。
我目前正在使用 Grunt为了这。我有 Require.JS plugin for Grunt配置为将十几个模块文件组合成两个文件。我确实在这里和那里使用 modules
、empty:
和 exclude
来帮助实现这一目标。 Require.JS 仍然是根据依赖关系组合模块的最佳方式。
然后我使用 Uglify plugin for Grunt分别缩小输出。
虽然这可能对您的用例没有帮助,但我也在使用 Grunt's concat plugin帮助我以我喜欢的方式获得输出。
这一切都在 Gruntfile.js
中,所以所有这些都在文件发生更改时自动通过 grunt watch
发生,从而使开发-刷新-测试循环变得如此更好一点。
https://stackoverflow.com/questions/9767084/