[英]Can't load modules for Intern testing while using Browserify
我正在尝试使用Intern来测试我的一个模块tested.js
,它依赖于另一个模块dependency.js
。 因为我使用的是Browserify, tested.js
包含以下内容:
var dep = require('./lib/dependency.js');
实习生抛出以下错误:
Warning: Error: Attempt to require unloaded module lib/dependency.js
这是我的测试文件的开头:
define([
'intern!object',
'intern/chai!assert',
'src/js/tested'
], function (registerSuite, assert, tested) {
registerSuite({
// ...
我的实习配置文件使用默认的Dojo加载器。 我尝试使用RequireJS,但无法使其正常工作(似乎实习生在使用替代AMD加载器方面存在一些问题: https: //github.com/theintern/intern/issues/147,https :// github .com / theintern / intern / pull / 132#issuecomment-33403157 )。
如何让Intern正确加载所需的依赖项?
编辑:我正在使用grunt-browserify,但我正在测试非浏览器模块 - 我只提到了Browserify来解释我使用“require”的原因。
您无法在浏览器中加载CJS / Node.js模块而无需在Browserify中运行它们。 这就是Browserify的全部目的。 您需要对模块进行预浏览,切换到使用AMD模块而不是为您的应用程序使用CJS模块,或者引入代理来动态转换模块。
如果您尝试通过Intern在Node.js中加载CJS模块,则需要使用intern/dojo/node
模块来促进该加载:
define([
'intern!object',
'intern/chai!assert',
'intern/dojo/node!src/js/tested'
], function (registerSuite, assert, tested) {
registerSuite({
// ...
有关此内容的更多信息,请参阅文档的“ 测试非AMD代码”部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.