typescript 遵循Cypress官方教程会导致“在'--isolatedModules'下编译“错误

5q4ezhmt  于 2023-03-04  发布在  TypeScript
关注(0)|答案(2)|浏览(162)

我是一个完全的Cypress新手,正在学习优秀的testing your first application教程,但是我已经开始遇到一些third section中的编译器问题。
我已按照说明创建了自定义命令,但收到以下编译器错误:

这个Stack Overflow article似乎建议将export {}添加到我的文件中。
如果我这样做,编译器错误在commands.ts文件中消失,但会导致在另一个文件中引入相同的错误。如果我添加相同的export {}行,这会将错误推到一个新文件中。在重复几次循环后,最终我以以下错误结束:

有谁能给我提供一些针对初学者的帮助吗?我正在努力学习如何进步,到目前为止我已经取得了很大的进步😥

b1zrtrql

b1zrtrql1#

如果你只是想解决这个问题,向文件中添加export {}是可以的,但是这有点像黑客--没有人会为我们设计一个假导出来指定文件类型的系统。
这个问题很可能是在tsconfig设置中,请查看Typescript - What is a tsconfig.json(Cypress文档在打字方面有点轻)。
还要将您的设置与cypress-realworld-app进行比较,因为它是一个有效的实现。
在最后一个文件中,我认为您的问题是导出在输入注解之前,请尝试将它们颠倒过来

/// <reference types="cypress" />
export {}

另请参见Why is --isolatedModules error fixed by any import?的第二个答案,在/cypress文件夹级别使用tsconfig似乎是一个很好的实践,实际应用程序也使用这种模式。

83qze16e

83qze16e2#

重命名你的cypress/index.ts文件为cypress/cypress.d.ts。你不需要referenceexport
下面是我的cypress.d.ts文件的一个示例:

declare global {
  namespace Cypress {
    interface Chainable {
      getByTestId(value: string): Chainable<JQuery<HTMLElement>>;
    }
  }
}

我强烈建议按照官方教程的部分内容在cypress文件夹中添加一个单独的tsconfig,在你的主tsconfig中不要有任何与cypress相关的东西。

相关问题