在查看Intern.io示例时,我没有遵循路径语法。
例如:
define([
'intern!object',
'intern/chai!assert',
'!'是怎么回事字符?
// Non-functional test suite(s) to run in each browser
suites: [ 'intern/node_modules/dojo/has!host-browser?tests/utils' ],
有人可以解释上述套件路径的路径引用吗?
谢谢。
最佳答案
带有感叹号的模块ID为AMD loader plugins。感叹号之前的部分是loader插件模块的模块ID,感叹号之后的部分是特定于插件的信息,插件模块使用该信息来决定要做什么。
intern!object
加载intern
插件模块,然后将其告知“object”(这会导致插件加载对象接口(interface)API)intern/chai!assert
加载intern/chai
插件模块(并告诉它加载断言风格的API)intern/dojo/has!host-browser?tests/utils
(此中间不应包含node_modules
)从Intern的内部Dojo副本中加载dojo/has
模块,并在tests/utils
功能检测测试为true(否则不加载任何内容)的情况下,使用它来加载host-browser
。