【问题标题】:Concatenate and minify AMD modules without r.js在没有 r.js 的情况下连接和缩小 AMD 模块
【发布时间】:2015-11-04 13:25:27
【问题描述】:

我有一个使用大量 AMD 模块的项目。如何在不使用 r.js 优化器的情况下组合和缩小这些模块?如果我的所有 AMD 模块都已命名,我可以安全地连接并缩小它们吗?

【问题讨论】:

  • 不使用r.js有什么理由吗?
  • @kryger 是的 - 我们的项目是用 PHP 编写的,我宁愿不强制开发人员使用 node.js 堆栈,即使只是为了构建。
  • @Amy 我宁愿避免使用 node.js 堆栈,因为那样我们只会将它用于此 amd 优化。

标签: javascript requirejs amd


【解决方案1】:

如果我的所有 AMD 模块都已命名,我可以安全地连接并缩小它们吗?

这取决于。对于足够简单的设置,答案是“是”。例如,如果您将模块A 定义为define('A', ['B'], function (B) { return ... }); 和B 为define('B', function () { return ... }),并且您传递给require.config 的配置使得请求模块可以请求为A 和B,那么你可以只用你想要的任何工具连接它们并缩小它们。你可以跳过使用r.js。

对于更复杂的设置,在不使用 r.js 的情况下进行连接和缩小是自找麻烦。例如,shim 配置需要特殊处理。将 shim 模块放入优化包中的顺序很重要,r.js 会为它们创建 define 存根,以便首先加载它们需要的任何依赖项,并且实际导出 shim 的 exports 选项中定义的任何内容。

【讨论】:

  • 当我连接和缩小依赖项并使用 almond -> 我还需要定义 requirejs.config 路径吗?
猜你喜欢
  • 2012-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-28
  • 2019-03-21
  • 1970-01-01
  • 1970-01-01
  • 2017-11-05
相关资源
最近更新 更多