Intern定义的感叹号是什么意思?

bku*_*uhl 2 javascript intern

在查看Intern.io示例时,我没有遵循路径语法.

例如:

define([
    'intern!object',
    'intern/chai!assert',
Run Code Online (Sandbox Code Playgroud)

'!'发生了什么事 字符?

// Non-functional test suite(s) to run in each browser
suites: [ 'intern/node_modules/dojo/has!host-browser?tests/utils' ],
Run Code Online (Sandbox Code Playgroud)

有人可以解释套件路径上面的路径参考吗?

谢谢.

C S*_*ver 7

带感叹号的模块ID是AMD加载程序插件.感叹号之前的部分是加载程序插件模块的模块ID,感叹号之后的部分是插件模块用来决定做什么的特定于插件的信息.

  • intern!object加载intern插件模块,然后告诉它"对象"(这导致插件加载对象接口API)
  • intern/chai!assert加载intern/chai插件模块(并告诉它加载断言式API)
  • intern/dojo/has!host-browser?tests/utils(node_modules在这个中间不应该有)dojo/has从Intern的Dojo内部副本加载模块,并tests/utilshost-browser特征检测测试为真时使用它加载(否则它什么都不加载).