我想了解流行的r.js的好处。r.js真的做了什么?
它似乎...
- 串联的手动选择 JavaScript文件列表
- 丑化/最小化组合代码
- 做CSS文件(将它们组合起来) 一些类似的东西
另外,(是什么使它不同于通用组合/缩小工具)它似乎......
- 转换节点式
require()
模块,AMD风格模块 - 名匿名模块(例如。
define(['dependency'], function(){...}
) - 为加载器插件提供了一些支持,例如,内联CSS文件
它不似乎...
- 分析,并自动解决文件(如,包括文件
foo.js
到包中发现的依赖只是因为r.js找到一个define(["foo"], ...)
这是正确的,还是我错过了什么?
恩,是我的编辑不正确,你真的认为它应该“*包括文件'foo.js'到包中,只是因为r.js发现一个** define([”foo“],。 ..)'***“?如果代码已经存在('foo'被定义),我不明白你为什么要加载'foo.js'文件。 – Bergi 2014-10-06 20:15:41
[RequireJS/Optimization](http://requirejs.org/docs/optimization.html):“[r.js]将相关脚本合并到构建图层并缩小它们”。依赖关系图本身*在运行时仍被解析*,所有模块都被简单地推在一起,因此不需要单独的资源提取。 – user2864740 2014-10-06 20:16:31
@Bergi:不知道你的编辑,但是,我想确保r.js不会自动解决任何依赖关系是正确的。我不是说它*应该*这样做。在我看来,r.js会做一些沉重的JavaScript解析/处理,并且希望确保我理解该过程中的所有步骤。 – 2014-10-06 20:22:38