requirejs - 将全局变量定义为 amd 模块
requirejs - define global variable as amd module
我写了一个 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 之前。
非常简单,只需定义一个模块,它将 return 一个全局变量,仅此而已,在这里,看一下 jQuery 示例:
define('jquery', function () {
return window.$;
});
不需要配置。您可以删除不需要的路径和垫片。
我写了一个 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 之前。
非常简单,只需定义一个模块,它将 return 一个全局变量,仅此而已,在这里,看一下 jQuery 示例:
define('jquery', function () {
return window.$;
});
不需要配置。您可以删除不需要的路径和垫片。