如何解决requirejs - 将全局变量定义为 amd 模块
我写了一个 requirejs 应用,它将被包含在各种环境中,其中一些已经提供了一些 javascript 框架,我想重用这些框架,而不是我带来的提供的 amd 模块。
我说的是 jquery 和 Foundation。我的一些应用程序脚本本身就使用了这些框架,我想做类似以下示例的操作,但我不知道是否可以使用 requirejs 来完成,如果可以,如何...
requirejs.config({
paths: {
"jquery": "window.$","foundation": "window.Foundation","foundation.module": "window.Foundation.Module"
},shim: {
"jquery": {
exports: "window.$"
},"foundation": {
deps: ["jquery"],exports: "window.Foundation"
}
}
});
我能实现这样的目标吗?
解决方法
您正在寻找的是代理模块。由于 Foundation 和 jQuery 已经加载,在我假设的 RequireJS 之前。
很简单,只需要定义一个返回全局变量的模块就可以了,在这里,看看jQuery的例子:
define('jquery',function () {
return window.$;
});
不需要任何配置。您可以删除不需要的路径和垫片。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。