如何配置Intern 4以使用RequireJS?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何配置Intern 4以使用RequireJS?相关的知识,希望对你有一定的参考价值。
我的node_modules目录中安装了RequireJS,我的intern.json文件有:
"node": {
"loader": "requirejs"
},
但是,当我运行“npx实习生”时,它失败了:
错误:加载程序脚本requirejs未在at处注册加载程序回调
有没有办法让实习生4使用RequireJS?
答案
要使用特定的加载器,实习生需要一个“加载器”脚本,它将实际初始化加载器并使用它来处理加载模块。 Intern包含几个加载器的加载器脚本,例如Dojo 1,Dojo和SystemJS。它不包含RequireJS的加载器脚本,但您可以相当容易地添加一个。
RequireJS的简单脚本如下所示:
// your_project/reqjs.js
intern.registerLoader(function(options) {
function initLoader(requirejs) {
// Configure requireJS -- use options passed in through the intern.json
// config, and add anything else
requirejs.config(options);
// This is the function Intern will actually call to load modules
return function(modules) {
return new Promise(function(resolve, reject) {
requirejs(modules, function() {
resolve();
}, function(error) {
reject(error);
});
});
};
};
if (typeof window !== 'undefined') {
return intern
.loadScript('node_modules/requirejs/require.js')
.then(function() {
return initLoader(window.requirejs);
});
} else {
return initLoader(require('requirejs'));
}
});
请注意,Intern不使用加载器来实际检索自己使用的模块(这就是为什么上面的resolve
调用不包括加载的模块),它只使用它们来加载测试套件。套房本身可以正常使用装载机。
您可以在配置中使用该脚本
"node": {
"loader": "./reqjs.js"
}
以上是关于如何配置Intern 4以使用RequireJS?的主要内容,如果未能解决你的问题,请参考以下文章
如何加载带有requirejs的Tempus Dominus Bootstrap 4(在Moodle中)? (错误:没有为datetimepicker定义调用)