"!default"对于依赖项意味着什么

Wol*_*mec 2 javascript dojo amd js-amd

当我查看dojo 1.7 amd依赖列表的源代码时,我看到以下内容:

define(["./_ base/kernel","./ has","./"","./ on","./ _ base/array","./ _ base/lang","./ selector/_loader","./ selector/_loader!default"],

我知道感叹号的唯一用途就是插件,我以前没见过这个"!default".
我读了这页"https://github.com/amdjs/amdjs-api/wiki/AMD"并用Google搜索,但我没有找到任何答案.
任何人都可以帮助我!
谢谢
沃尔夫冈

更新:
感谢Ates Goral,感谢您的回答.
现在一切都很清楚了.
然后,对于我这个特殊情况的令人恼火的事情是,"./ selector/_loader"在上面的行中出现两次,一次没有参数,下一次带有参数.我看到有人写"dojo/domReady!",所以我认为必须为插件写一个感叹号,即使没有参数.现在我了解到插件不需要"!" 我会写"dojo/domReady".

另一个更新:
今天我发现了以下有趣的声明(https://github.com/csnover/dojo-boilerplate的 main.js ):

模块名称后面的"!"表示您要使用特殊的插件功能; 如果您只需要"dojo/domReady",它将像任何其他模块一样加载该模块,而不需要任何特殊的插件功能.

我不知道这句话是否正确.它是正确的,那么"./selector/_loader"会有某种混合功能吗?

Ate*_*ral 7

http://livedocs.dojotoolkit.org/loader/amd

当传递给require或define的模块标识符包含"!"时,加载器会在感叹号处将字符串拆分为两个."!"左侧的字符串 被视为普通模块ID,并用作所需插件的标识符; "!"右边的字符串 传递给插件进行处理.

在您的情况下,"默认"将传递给插件.