Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';t使用Browserify时加载实习测试模块_Javascript_Module_Require_Browserify_Intern - Fatal编程技术网

Javascript Can';t使用Browserify时加载实习测试模块

Javascript Can';t使用Browserify时加载实习测试模块,javascript,module,require,browserify,intern,Javascript,Module,Require,Browserify,Intern,我正在尝试使用Intern对我的一个模块进行单元测试,tested.js,它依赖于另一个模块,dependency.js。因为我使用的是Browserify,tested.js包含以下行: var dep = require('./lib/dependency.js'); Intern抛出以下错误: Warning: Error: Attempt to require unloaded module lib/dependency.js 这是我的测试文件的开始: define([ '

我正在尝试使用Intern对我的一个模块进行单元测试,
tested.js
,它依赖于另一个模块,
dependency.js
。因为我使用的是Browserify,
tested.js
包含以下行:

var dep = require('./lib/dependency.js');
Intern抛出以下错误:

Warning: Error: Attempt to require unloaded module lib/dependency.js
这是我的测试文件的开始:

define([

    'intern!object',

    'intern/chai!assert',

    'src/js/tested'

], function (registerSuite, assert, tested) {

    registerSuite({
            // ... 
我的Intern配置文件使用默认的Dojo加载程序。我尝试过使用RequireJS,但无法使其正常工作(似乎Intern在使用其他AMD加载程序时存在一些持续的问题:,)

如何让Intern正确加载所需的依赖项


编辑:我正在使用grunt browserify,但我正在单元测试un-browserify模块-我提到browserify只是为了解释我为什么使用“require”

如果不在Browserify中运行CJS/Node.js模块,则无法在浏览器中加载这些模块;这就是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({
            // ... 

有关这方面的更多信息,请参阅文档部分。

+1我一直在讨论这个问题。你要传递什么旗帜来浏览?2.为什么你认为使用RequireJS会有不同的效果?3.您引用的问题不会影响您使用Browserified代码的任何内容。@CSnover我编辑了我的问题,希望能让它更清楚一些。我不会更改grunt browserify的任何默认选项。我尝试使用RequireJS查看它是否有帮助,因为错误似乎涉及加载模块。
intern/dojo/node
模块正是我所需要的,谢谢!您知道它是否与dojo的别名配置选项一起工作吗?我当前在
intern.js
文件中有
loader:{alias:[[['lib/dependency:'dependency]]}
,但无法识别别名。如果您试图重新映射模块,请使用
map
,而不是
别名<代码>地图
是地图的一部分<代码>别名令人困惑且不标准。我已更改为
加载程序:{map:{'src/js/tested:{'dependency':'lib/dependency'}}}}
,但仍然没有乐趣。只能重新映射AMD模块。这是一本书。