繁体   English   中英

使requirejs模块符合AMD标准

[英]Making requirejs modules AMD compliant

我正在构建一个应用程序,其中前端正在做很多繁重的工作。 为了保持一切整洁有序,我想使用requirejs 但是,要使用require.js到它的全部范围,我使用的所有模块都应该符合AMD标准。

这意味着每次更新我使用的模块时,我都需要等待出现符合AMD标准的版本,或者自己创建一个版本(我现在不知道如何)。

这是一次真正的挫折。

看看这个https://github.com/jrburke/backbone/blob/optamd/backbone.js ,在我看来,制作像Backbone AMD兼容的模块并不像将插件包装到通用功能那样简单。

是否有一种或多或少直接的方式使模块符合AMD标准?

那么他的版本非常防弹,所以它会在各种情况下运行。 既然你知道你正在运行的环境以及可用的环境/什么不可用,那么你可以做一些假设,让你做一些更简单的事情。

看看这个gist,我将bacbkonejs作为AMD模块,假设jQuery,下划线和定义都在全局范围内,我不需要commonjs支持: https ://gist.github.com/2762813

我只是补充一下

define(function() {
  var obj = {};
  obj._ = window._;
  obj.jQuery = window.jQuery;

到顶部和

.call(obj);
   return obj.Backbone;
});

至底部。


感谢@SimonSmith将UseJS引入我的注意力。 UseJS是一个AMD加载器插件,允许您加载非amd格式的模块而无需修改它们。 我还没有使用过自己,但看起来很有希望: https//github.com/tbranyen/use.js/

UPDATE

RequireJS 2.0现在通过填充配置直接支持您正在寻找的功能: https//github.com/jrburke/requirejs/wiki/Upgrading-to-RequireJS-2.0#wiki-shim

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM