【发布时间】:2015-11-03 09:31:27
【问题描述】:
我正在尝试在 requirejs 中使用我拥有的非 AMD JS 模块(称为 mymodule)。这是第一次尝试这样做。根据我从 bootstrap-amd 和 underscore-amd 中看到的内容,我尝试了以下操作:
// start of mymodule
if(typeof mymodule === "undefined") loaded = {};
mymodule.cache = (function() {
...
return {
...
};
})();
mymodule.main = (function() {
...
return {
doSomethingJQuery: function() { ... }
}
})();
.
.
.
// end of mymodule
// This part I added for the sake of requirejs
if(typeof define === "function" && define.amd) {
define(function() {
return mymodule;
});
}
您可以看到第一部分是我的模块(我希望使用好的 JS 模块模式 :)。我想保留使用独立于 require JS 的模块的选项,所以如果我不想在另一个项目中使用 requirejs,我不必这样做。所以我有点不想将整个模块包装在一个 define(...) 函数中......除非有一个 mymodule.js 和 mymodule-amd.js 文件是常见的做法。
无论如何我的模块加载,
define(["mymodule"], function (mymodule) {
// do it - ReferenceError: jQuery is not defined :(
mymodule.doSomethingJQuery();
.
.
.
..但是由于 doSomethingJQuery() 依赖于 jQuery,我得到一个错误。我怎样才能在这里引入 jQuery,或者应该以不同的方式完成?我试图找到一些例子,但对 requirejs 来说很新。想以正确的方式做事。如前所述,我还想保留独立使用模块的选项。在此不胜感激,谢谢。
【问题讨论】:
标签: javascript requirejs amd