6

我有一个 javascript 项目,大多数模块都使用一些第三方库作为“全局”依赖项(特别是 jquery 和 jquery 插件)

我想“清理”项目(将所有库表示为 requirejs 依赖项。),但是在我的情况下这是一项大任务(大量文件,大量第三方库)。

我怎样才能使迁移更容易/更快?

  • 我可以通过将第三方库包装在仅加载它们的模块中来使用 amd 依赖项“伪造”(使用命令!插件?)
  • 将加载第三方库的模块作为模块和直接使用全局的模块混合是否安全?
  • 如果我想使事情自动化,是否可以使用任何工具来“解析”r​​equirejs 模块来告诉我是否使用了特定符号?

编辑:我最后一个问题的意思是“是否可以自动重写我的 js 文件,以便明确地导入依赖项而不是依赖于浏览器全局变量?”

4

2 回答 2

1

我可以通过将第三方库包装在仅加载它们的模块中来使用 amd 依赖项“伪造”吗

是的,你可以,RequireJS 有一个专门为此设计的shim配置。

看看这篇文章,它将帮助您使用 RequireJS http://www.stefanprodan.eu/2012/09/intro-requirejs-for-asp-net-mvc/组织您的 JavaScript 代码

于 2012-09-07T08:32:16.963 回答
0

关于在 AMD 模块中包装第三方代码的需要,我有一个类似的问题。我的结论是,在我的情况下(大型 Backbone 应用程序)没有任何好处。因此,您应该问自己是否真的需要为每个 AMD 导入 jquery。这将在您每次导入 jquery 的模块中结束,这是很多容易出错的样板代码。

所以简而言之,将 AMD 用于在任何情况下都会使用的代码是没有意义的。

于 2012-09-07T06:34:23.927 回答