Typescript 在具有严格编译器选项的 node_modules 中抛出错误

标签 typescript node-modules

关于为什么在 node_modules 中抛出错误,尽管 tsconfig.json 中排除了该文件夹,但有几个 github 问题。如果库中有任何 import,则忽略 exclude 属性。

然而,当使用更严格的编译器选项(即strictNullChecksnoUnusedLocals,...)并且引用任何不是旨在处理这些选项,则会引发错误。

因此,无论何时使用这样的库,它总是不使用库或不使用编译器选项的决定。然而,有些大型库/框架不支持这些选项(即 Angular),因此似乎无法使用这些选项来确保在自己的项目中进行严格检查。

我是否错过了一些避免抛出 node_modules 错误的可能性? 如果不是,是否有任何技术要求将这些规则应用于所有导入的库或此行为背后的原因是什么

最佳答案

在我所有的项目设置中,我在根目录中有结构:

文件夹:

  • 代码文件夹
  • 节点模块

文件:

  • package.json
  • 自述文件
  • tsconfig.json
  • tslint.json
  • yarn 锁

然后在 tsconfig.json 中:

{
    "compilerOptions": {
        "lib": ["es6"]
    },
    "include": [
        "code_folder/*"
    ]
}

关于Typescript 在具有严格编译器选项的 node_modules 中抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44305143/

相关文章:

javascript - ESM 模块的快速验证器用法

security - npm 审核修复 : 1 high severity vulnerability: Arbitrary File Overwrite

javascript - 如何在javascript中合并两个可选数组

html - 使用 Angular2 将 HTML 页面存储在内存中

json - 使用 angular2 从 JSON 中获取键和值

node.js - 如何在 node.js 中跨多个文件拆分类定义?

node.js - Nodejs - 即使在调用 cluster.worker.disconnect() 之后,工作人员仍接受新请求

sass - Vite 3.0.9 无法使用 Laravel v9.26.1 编译 scss 文件

javascript - 如何自定义daterangepicker(ngxDaterangepickerMd)

asp.net-mvc - Angular 2 中的组件是什么