gpt4 book ai didi

javascript - requirejs:我可以要求一个全局运行时变量吗?

转载 作者:行者123 更新时间:2023-11-30 05:49:45 25 4
gpt4 key购买 nike

我在一个有点特殊的 JS 环境中使用 requirejs,其中应用程序提供全局单例(我无法改变这个事实,这不是在典型的浏览器环境中运行)。我正在为此应用程序编写一种 JS SDK,并希望提供使用此全局的各种模块。

我能否以某种方式将该全局变量包装在一个模块中以便从我的模块中请求它?有点像

define([the_global_application], function(app)

感谢您对此的看法。

最佳答案

是的,你只需要定义它。

// mysingletonapp.js
// define the module for our global var
define(['list', 'any', 'dependency', 'here'], function (l, a, d, h) {
return yourGlobalVariable;
});

(我不认为你会有依赖关系,因为你只是包装了一个全局的 var)

您可以照常使用该模块:

require(['mysingletonapp'], function (app) {
// do something cool
});

如果你想跳过这一切,你可以使用 shim property of RequireJS .您只需要将其添加到您的选项文件中:

...
shim: {
'globalApplication': {
deps: ['underscore', 'jquery'], // again, you should not need them
exports: 'yourGlobalVar'
}
}
...

shim 封装了不支持 AMD 的库,因此要使此设置生效,您需要一个用于 globalApplication 的 js。这不是你的情况。

关于javascript - requirejs:我可以要求一个全局运行时变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15632081/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com