【问题标题】:node_modules/@types/babel _template/index.d.ts :16:28 - error TS2583: Cannot find name 'Set'node_modules/@types/babel _template/index.d.ts :16:28 - 错误 TS2583: 找不到名称 'Set'
【发布时间】:2019-11-25 01:28:15
【问题描述】:

我跟着 this article 设置了一个 TypeScript NPM 包。 我第一次运行npm run build(在安装 jest 之前)。进展非常顺利。之后我安装了jest,然后我再次运行npm run build,我在下面收到了一条错误消息:

tsc node_modules/@types/babel__template/index.d.ts:16:28 — 错误 TS2583:找不到名称“Set”。您需要更改目标库吗?尝试将 lib 编译器选项更改为 es2015 或更高版本。

16 placeholderWhitelist?:设置;

发现 1 个错误。

我的node、npm、tsc版本是:node -v // v8.12.0, npm -v // v6.4.1, tsc -v // v3.4.5

这里是 tsconfig.json

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "declaration": true,
    "outDir": "./lib",
    "strict": false
  },
  "include": ["./src"],
  "exclude": ["node_modules", "**/__tests__/*"]
}

我已经在tsconfig.json 中排除了“node_modules”,tsc 怎么还运行 node_modules?

【问题讨论】:

    标签: typescript jestjs


    【解决方案1】:

    就我而言,无论如何我都没有更改项目(在 GIT 更改中看到了这一点)。刚刚通过 npm 将 nodejs 安装到 Windows 10 中,并且在编译 ASP.NET 应用程序的 Web 项目时弹出了这个错误消息(这与 node_modules 无关!)。唯一对我有用的解决方案是删除和更新包:

    1. npm i -D @types/node
    2. npm i @types/node

    【讨论】:

      【解决方案2】:

      尝试添加"lib": ["es6"]或更高版本并更改compilerOptions中的"target": "es6"

      "compilerOptions": {
        "target": "es6",
        "lib": ["es6"],
        "module": "commonjs",
        "declaration": true,
        "outDir": "./lib",
        "strict": false
      }
      

      【讨论】:

      • 我知道添加 "lib": ["es6"] 可以解决 Cannot find name Set 问题。但我认为这是 babel__template 的问题。他们没有提供 Set 的声明。应用程序不适合在tsconfig.json 中修复此问题。也许我们可以在应用程序中添加一个带有 Set 的全局声明文件,我尝试过,但它也没有工作。你能回答这个问题吗?我已经在tsconfig.json中排除了“node_modules”,tsc怎么还在跑node_modules?
      • @BeiTang 是的,node 生态系统很荒谬,你突然添加了一个包进行测试(这是一个 dev 依赖项),现在你无法构建你的生产代码,并且预计会更改你的 @987654327 @
      【解决方案3】:

      tsconfig.json

      默认情况下,所有可见的@types 包都包含在您的编译中。任何封闭文件夹的node_modules/@types 中的包都被视为可见;具体来说,这意味着 ./node_modules/@types/../node_modules/@types/../../node_modules/@types/ 等中的包。

      【讨论】:

        猜你喜欢
        • 2020-04-24
        • 1970-01-01
        • 2017-07-08
        • 2021-01-02
        • 2020-08-09
        • 1970-01-01
        • 2017-10-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多