在运行时和unit testing问题上需要文件

我使用require.js在运行时加载文件,如下所示:当我在正确的上下文中运行文件(我的意思是来自正确的path的调用)时, 按预期工作

module1.js

 define(["otherModule"], function(otherModule) { working!!! .... 

现在我想创build一个unit testing从这个文件(模块1)从其他上下文(从在不同的位置在项目中find的testing文件夹),我得到错误

 require.js:145 Uncaught Error: Script error for: otherModule 

由于它试图在位于不同的项目结构中的unit testing期间在此path上运行get …

HTTPS://app/path1/path2/path3/otherModule.js

而在运行时 (从不同的上下文),它在path中find它

HTTPS://app/path1/path2/path3/path4/path5/otherModule.js

请求中有额外的path4和path5,我应该如何解决它在两种情况下工作(UT / Runtime)?

http://requirejs.org

我认为你应该可以通过应用RequireJSconfiguration文件来使它工作,以便从其path中抽取模块名称:

例如在testing环境中,像这样调用初始化步骤:

  require.config({ baseUrl: "/path1/path2/path3" }); 

或者,你也可以像这样重新映射单个模块(这也可以用来注入一个特定模块的不同实现来testing等):

  require.config({ paths: { "otherModule": "/path1/path2/path3/otherModule" } }); 

请参阅: http : //requirejs.org/docs/api.html#config