我使用require.js
在运行时加载文件,如下所示
当我在正确的上下文中运行文件时,这是按预期工作(我的意思是当呼叫来自正确的路径时。)
module1.js
define(["otherModule"], function(otherModule) {
working!!!
....
现在我想从这个文件(module1)创建一些单元测试 其他上下文(来自项目中不同位置的测试文件夹),我收到错误
require.js:145 Uncaught Error: Script error for: otherModule
因为它试图在单元测试期间运行此路径上的get 它位于不同的项目结构中......
https://app/path1/path2/path3/otherModule.js
在运行时中工作(来自不同的上下文),它在路径中找到它
https://app/path1/path2/path3/path4/path5/otherModule.js
还有其他路径4&有效的请求中的path5, 我应该如何解决这两种情况(UT /运行时)?
答案 0 :(得分:0)
我认为您应该能够通过应用RequireJS配置文件来使其工作,以便从其路径中抽象出模块名称:
E.g。在测试环境中,调用类似这样的初始化步骤:
require.config({
baseUrl: "/path1/path2/path3"
});
或者,您也可以像这样重新映射单个模块(这也可以用于注入特定模块的不同实现以进行测试等)。
require.config({
paths: {
"otherModule": "/path1/path2/path3/otherModule"
}
});