相关疑难解决方法(0)

为什么我必须将 TS 文件导入为 JS 文件?

我正在使用 WebdriverIO 帮助进行一个测试项目。我们在 TS serting 方面遇到了巨大的困难,因为 TS 转译器似乎可以正确解析 TS 模块,但解析在运行时失败。

例如,如果我有一个模块:

// config/config.ts
export const config = {};
Run Code Online (Sandbox Code Playgroud)

然后是一个文件:

// someTest.ts
import { config } from './config/config`;
Run Code Online (Sandbox Code Playgroud)

然后 TS 将正确显示 的类型config。但是,在运行该套件时,我会收到以下消息:

[0-2] 2023-04-18T09:07:54.651Z ERROR @wdio/runner: Error: Cannot find module '/Users/ronnyefronny/projects/wdio-demo/config/config' imported from /Users/ronnyefronny/projects/wdio-demo/test/step-definitions/VoiceflowStepDefs.ts
Run Code Online (Sandbox Code Playgroud)

我的tsconfig.json是:

// config/config.ts
export const config = {};
Run Code Online (Sandbox Code Playgroud)

WDIO 配置的其余部分是按照他们的文档推荐的,但仍然什么也没有。

让我困惑的是,在他们自己的示例样板存储库中,WDIO 将 TS 模块导入为 JS,这让我困惑不已。我在后端和前端项目上使用 TS 已经有几年了,从来不需要导入 TS 模块作为其转译的 JS 模块。

也就是说,而不是

import { config } from './config/config';
Run Code Online (Sandbox Code Playgroud)

会做 …

typescript webdriver-io

1
推荐指数
1
解决办法
3798
查看次数

标签 统计

typescript ×1

webdriver-io ×1