为什么打字稿强制错误的变量名称解析
Why typescript forces wrong variable name resolution
我最近创建了一个 create-react-app project to which I added cypress。我添加了一个名为 setup.ts
的支持文件(位于 repositoryRoot/cypress/support/setup.ts
),其中包含以下代码:
beforeEach(() => {
cy
});
我想写 cy.wrap({setting1: 'value1'}).as('settings')
但是当我输入 cy.
打字稿自动完成 强制 cy.
变成 crypto.
。我试过禁用自动完成功能,但没有用。坦率地说,我不明白这是由 IDE 的自动完成还是 typescript 变量名称解析引起的,因为这种情况在 VSCODE 和 codesandbox.
中都会发生
这是 link 到 sandbox,问题在沙箱中重现 我想知道如何让 IDE 允许我输入 cy.wrap()
理想情况下,自动完成 cypress 中可用的方法。
简短回答:
将其包含在规范文件的顶部:/// <reference types="Cypress" />
.
您可能还需要使用命令 cmd shift p
重置您的 TS 服务器,然后搜索重新启动 TypeScript 服务器。
此外,您的测试文件默认应位于 integration
文件夹中。目前还没有。
我能够解决问题的唯一方法是安装 npm 包 @types/cypress
(即使它应该包含在较新版本的 Cypress 中)。
我最近创建了一个 create-react-app project to which I added cypress。我添加了一个名为 setup.ts
的支持文件(位于 repositoryRoot/cypress/support/setup.ts
),其中包含以下代码:
beforeEach(() => {
cy
});
我想写 cy.wrap({setting1: 'value1'}).as('settings')
但是当我输入 cy.
打字稿自动完成 强制 cy.
变成 crypto.
。我试过禁用自动完成功能,但没有用。坦率地说,我不明白这是由 IDE 的自动完成还是 typescript 变量名称解析引起的,因为这种情况在 VSCODE 和 codesandbox.
这是 link 到 sandbox,问题在沙箱中重现 我想知道如何让 IDE 允许我输入 cy.wrap()
理想情况下,自动完成 cypress 中可用的方法。
简短回答:
将其包含在规范文件的顶部:/// <reference types="Cypress" />
.
您可能还需要使用命令 cmd shift p
重置您的 TS 服务器,然后搜索重新启动 TypeScript 服务器。
此外,您的测试文件默认应位于 integration
文件夹中。目前还没有。
我能够解决问题的唯一方法是安装 npm 包 @types/cypress
(即使它应该包含在较新版本的 Cypress 中)。