Requirejs karma配置将文件移动到基本目录
是否有办法将Karma配置中加载的文件移动到新目录,例如Requirejs karma配置将文件移动到基本目录,requirejs,karma-runner,Requirejs,Karma Runner,是否有办法将Karma配置中加载的文件移动到新目录,例如/base/?我有一个包含源文件的外部项目。我可以通过。/../directory加载文件。但是,它会将文件插入到/absolute/文件夹中。如果我在另一台计算机上加载测试,则/absolute/的目录不同。是否有我缺少的预处理器或某些配置?我搜索了业力文档,但找不到我要找的东西 // list of files / patterns to load in the browser files: [ { pattern: '
/base/
?我有一个包含源文件的外部项目。我可以通过。/../directory
加载文件。但是,它会将文件插入到/absolute/
文件夹中。如果我在另一台计算机上加载测试,则/absolute/
的目录不同。是否有我缺少的预处理器或某些配置?我搜索了业力文档,但找不到我要找的东西
// list of files / patterns to load in the browser
files: [
{ pattern: 'node_modules/jquery/dist/jquery.min.js', included: false },
{ pattern: 'node_modules/knockout/build/output/knockout-latest.js', included: false },
{ pattern: 'node_modules/knockout-mapping/dist/knockout.mapping.min.js', included: false },
{ pattern: 'node_modules/knockout-postbox/build/knockout-postbox.min.js', included: false },
{ pattern: '../FantasyFootball/wwwroot/js/site.js', included: false, served: true, watched: true },
{ pattern: 'tests/*.js', included: false },
{ pattern: 'test-main.js', included: true }
],
Karma为您请求它访问的文件生成以
/absolute/…
开头的路径
加载Karma的基本路径之外的文件
。因果报应这样做是因为没有
通过通常的/base/
路径提供这些文件的路径的简单方法
既独特又可推断。如果要提供到的相对路径
文件位于basePath
上方,Karma不能将其与/base/
组合。例如,
如果在文件
数组中有。/my/file.js
和。/../my/file.js
,则
结合/base/
,它们都将变成路径/my/file.js
。对于
在这种情况下,因果报应通过使用
/absolute/
并在磁盘上追加文件的绝对路径
好吧,那你现在还剩下什么?你想让Karma在外面加载文件
basePath
并且您希望能够在加载程序的设置中使用它们的路径。
这个问题是可以克服的。您可以修改karma.conf.js
以提供
用于计算所需路径的有用信息:
client: {
absoluteTopDir: path.join("/absolute/", __dirname),
},
然后在testmain.js
中,需要使用absoluteTopDir
参数:
var absoluteTopDir = window.__karma__.config.absoluteTopDir;
require.config({
baseUrl: "...",
paths: {
foo: absoluteTopDir + "../../my/file",
},
});
我多年来没有遇到任何麻烦,但最近遇到了这个问题
您在我的一个测试套件中遇到并使用了我上面描述的方法
巨大的成功
我在RequireJS和SystemJS中都使用过这个解决方案