【问题标题】:Cypress fixture cannot import typescript from javascriptCypress fixture 无法从 javascript 导入 typescript
【发布时间】:2023-02-22 16:32:50
【问题描述】:

我有以下两个柏树固定装置。

赛普拉斯/fixtures/myFixture.js

import Something from "./somewhere";

...

赛普拉斯/fixtures/somewhere.ts

export default function Something(): number {
   return 1;
}

它从 JS 导入 Typescript 文件,但在尝试运行 Cypress 测试时出现此错误。

Error: Can't walk dependency graph: Cannot find module './somewhere' from '/path/myFixture.js'

我已经尝试将 tsconfig.json 添加到 cypress 文件夹中,就像我在许多 Stackoverflow 答案中看到的那样,但错误始终是 Cypress 找不到 somewhere.js,而它应该查看 somewhere.ts。我也试过 ts-loader 无济于事,赛普拉斯文档说它应该支持打字稿 OOTB(赛普拉斯 v10)。

【问题讨论】:

    标签: javascript typescript cypress


    【解决方案1】:

    看起来这个问题 Import Typescript file in Javascript 解决了同样的问题(比 Cypress 上下文更普遍)。

    无法直接从浏览器/node.js 环境执行 TypeScript。首先,您必须将其转换为本机 javascript。为此,您需要执行 tsc。

    所以我想你必须走艰难的道路才能为 Typescript 设置基于 JS 的 Cypress 项目。最终,赛普拉斯默认不转译。你必须添加打字稿以到达任何地方。

    如果我是你,我会从干净开始

    • 安装打字稿
    • 安装 Cypress,它会识别已安装 Typescript 并在首次启动时为您进行 TS 设置 - yarn cypress opennpx cypress open
    • 除了它无法创建 tsconfig,因此必须从某个地方获取它 - 可能 Cypress Real World App 是一个可行的例子。

    现在你正在使用打字稿,复制之前项目的所有测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-23
      • 2021-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      相关资源
      最近更新 更多