Typescript 在具有严格编译器选项的 node_modules 中引发错误
Posted
技术标签:
【中文标题】Typescript 在具有严格编译器选项的 node_modules 中引发错误【英文标题】:Typescript throws errors in node_modules with strict compiler options 【发布时间】:2017-11-02 11:03:57 【问题描述】:尽管tsconfig.json
中排除了该文件夹,但为什么会引发node_modules
中的错误,有几个github 问题。如果在包含它的库中有任何import
,则忽略exclude
属性。
但是,当使用更严格的编译器选项(即strictNullChecks
、noUnusedLocals
、...)并引用任何不适用于这些选项的库时 , 会抛出错误。
因此,无论何时使用这样的库,总是决定不使用该库或不使用编译器选项。但是,有一些大型库/框架不支持这些选项(即 Angular),因此似乎无法使用这些选项来确保在自己的项目中进行严格检查。
我是否错过了避免抛出 node_modules 错误的一些可能性? 如果没有,是否有任何技术要求将这些规则应用于所有导入的库或这种行为背后的原因是什么?
【问题讨论】:
【参考方案1】:在我所有的项目设置中,我都有根目录的结构:
文件夹:
code_folder node_modules文件:
package.json README.md tsconfig.json tslint.json yarn.lock然后在tsconfig.json中:
"compilerOptions":
"lib": ["es6"]
,
"include": [
"code_folder/*"
]
【讨论】:
以上是关于Typescript 在具有严格编译器选项的 node_modules 中引发错误的主要内容,如果未能解决你的问题,请参考以下文章
将 Typescript 的 baseUrl 编译器选项与节点一起使用
如何使用严格类型的有效负载发出事件? | Vue 3 组合 API + TypeScript