gpt4 book ai didi

javascript - 如何使用 require({缓存 :{ in dojo layers?

转载 作者:行者123 更新时间:2023-11-29 22:11:10 25 4
gpt4 key购买 nike

看完 tag 我发现人们在自定义构建时遇到了很多问题,所以我考虑过自己创建构建。但是我找不到构建 Dojo AMD 层时使用的语法的引用,即:

require({cache:{"custom/MyModule":function () {
define(["dojo/_base/lang"], function (lang) {

看起来cache是​​一个映射,其中模块名是key,value是function,body是我的模块文件内容。

但是我没有完全理解下面的部分:

}, "*now":function (r) {
r(["dojo/i18n!*preload*custom/nls/all*[\"en\",\"de\",\"ROOT\"]"]);
}}});

这个“*now”也是一个key,但是好像有特殊的解释。我的模块中需要它吗?还是可选的?

define("custom/all", [], 1);

是最后一部分。正如我所想,即使不会在任何地方直接引用层模块,也必须执行此定义?

最佳答案

经过一些逆向工程:

cache 对象包含就地定义的模块映射。模块名是键,值是调用define的函数(所以是模块的内容)。

*now 是一个特殊的关键字,它绝对不是必需的,但一旦它存在,映射在该键下的函数将使用可用于调用附加 require< 的函数执行,例如加载 NLS 文件。

方 block

  "*now":function (r) {
console.log('*now is called with argument: '+r)
}

打印:

now is called with argument: function (a1, a2, a3) { return contextRequire(a1, a2, a3, module, result); }

函数 contextRequiredojo.js 中定义。

关于javascript - 如何使用 require({缓存 :{ in dojo layers?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17944243/

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