Javascript “你说什么?”;!“违约”;对依赖关系意味着什么
当我查看dojo 1.7 amd依赖项列表的源代码时,我看到以下内容: 定义([“/”基/kernel“,“/”has“,“/”dom“,“/”on“,“/”基/array”, “/_base/lang”、“/selector/_loader”、“/selector/_loader!default”] 我知道感叹号的唯一用法是用于插件,我以前从未见过这个“!default”。Javascript “你说什么?”;!“违约”;对依赖关系意味着什么,javascript,dojo,amd,js-amd,Javascript,Dojo,Amd,Js Amd,当我查看dojo 1.7 amd依赖项列表的源代码时,我看到以下内容: 定义([“/”基/kernel“,“/”has“,“/”dom“,“/”on“,“/”基/array”, “/_base/lang”、“/selector/_loader”、“/selector/_loader!default”] 我知道感叹号的唯一用法是用于插件,我以前从未见过这个“!default”。 我读了这一页“https://github.com/amdjs/amdjs-api/wiki/AMD“在谷歌上搜索,但我
我读了这一页“https://github.com/amdjs/amdjs-api/wiki/AMD“在谷歌上搜索,但我没有找到任何答案。
有人能帮我吗!
谢谢
沃尔夫冈 更新:
谢谢你的回答,戈尔。
现在一切都清楚了。
然后,这个特例让我恼火的是,“/selector/_loader”在上述行中出现了两次,一次没有参数,下一次有参数。我看到人们在写“dojo/domReady!”,所以我认为必须为插件写一个感叹号,即使没有参数。现在我知道插件不需要“!”,我将写“dojo/domReady” 另一个更新:
今天我发现了以下有趣的语句(main.js of of of): 模块名称后的“!”表示您希望使用特殊的插件功能;如果您只需要“dojo/domReady”,它将像任何插件一样加载该模块 其他模块,没有任何特殊的插件功能 我不知道这句话是否正确。如果正确的话,“/selector/\u loader”将具有某种混合功能? 当传递给require或define的模块标识符包含“!”时, 加载器在感叹号处将字符串一分为二 “!”左侧的字符串被视为普通模块ID,并且 用作所需插件的标识符;右边的字符串 将“!”的值传递给插件进行处理
在您的情况下,“default”被传递给插件。或者换句话说,真正的问题应该是“什么是
/selector/\u loader
意思”?@missingno它是一个决定使用哪个选择器引擎的插件。