我正在使用 testcafe 进行测试自动化我已经将 typescript 集成到项目中。我已经设置了非相对路径,见下文,它适用于 IDE,但在编译时我确定它们不会恢复到它们的原始路径。
我尝试将 moduleResolution 选项设置为 tsconfig.json 中的一个节点,尽管这不起作用。
有没有一种方法可以通过 testcafe 的配置或其他方式实现?
// tsconfig.json
{
"compilerOptions": {
"moduleResolution": "node",
"baseUrl": ".",
"paths": {
"@page-model/*": [
"page-model/*",
]
}
}
}
// test-file.ts
import { Home } from '@page-model/home'
我在运行 testcafe chrome test-file.ts
时收到的错误是找不到我正在引用的模块。显然是因为它没有被转换。
最佳答案
这看起来像是 TypeScript 模块解析和 NodeJS 的问题,而不是 TestCafe 的问题。
我创建了一个示例来演示没有 TestCafe 的问题。请看下面的代码:
索引.ts
function log(t:any) {
console.log(t);
}
log(require('@page-model/model').HEADER);
tsconfig.json
{
"compilerOptions": {
"baseUrl": "models",
"paths": {
"@page-model/*": [ "main/*" ]
},
"noImplicitAny": true
}
}
我用tsc
util编译了index.ts
文件,得到了如下js代码:
索引.js
function log(t) {
console.log(t);
}
log(require('@page-model/model').HEADER);
路径未被 TS 编译器解析。我在 StackOverflow 上搜索了可能的解决方案,他们建议尝试 https://www.npmjs.com/package/tsconfig-paths模块。
关于typescript - 使用 typescript 时如何使用testcafe解析非相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57014497/