将javascript应用程序迁移到使用AMD的提示(例如requirejs)

时间:2012-09-06 12:59:45

标签: javascript requirejs

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

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

如何让迁移变得更容易/更快?

  • 我可以通过将第三方库包装在刚刚加载它们的模块中来使用amd依赖项来“假冒”(使用order!plugin?)
  • 将加载第三方库的模块混合为直接使用全局的模块和模块是否安全?
  • 如果我想自动化,有什么工具可以用来“解析”r​​equirejs模块告诉我是否使用了特定的符号?

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

2 个答案:

答案 0 :(得分:1)

  

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

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

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

组织JavaScript代码

答案 1 :(得分:0)

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

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