[英]Exclude @types typings in installed dependencies
是否可以在已安装的依赖项中排除全局类型?
我安装了本地依赖项。 这也复制了该依赖项的 node_modules 文件夹。 此 node_modules 文件夹包含已安装的 @types 类型。 这些与为主项目安装的 @types 类型冲突。
例如。 project-path/node_modules/local-dependency/node_modules/@types/react
与project-path/node_modules/@types/react
冲突。
是否可以让打字稿编译器忽略该本地依赖项中的类型?
您是否尝试将空数组用于types
选项?
{
"compilerOptions": {
...,
"types": []
}
}
这将禁用类型的自动包含。
有关更多详细信息,请参阅TypeScript 文档。
或者,在编译器选项中使用"skipLibCheck": true
。
您可以使用 tsconfig.json 中的include
和exclude
属性对 TypeScript 编译器包含的文件进行更细粒度的控制:
http://www.typescriptlang.org/docs/handbook/tsconfig-json.html
"include"
和"exclude"
属性采用类似 glob 的文件模式列表。 支持的 glob 通配符是:
- * 匹配零个或多个字符(不包括目录分隔符)
- ? 匹配任何一个字符(不包括目录分隔符)
- **/ 递归匹配任意子目录
所以也许你可以这样做:
{
...
"exclude": [
"node_modules"
]
}
或者,根据您的需要,您可以设计一个更有针对性的 glob 模式,该模式仅排除给您带来问题的一个依赖项的node_modules
目录。
如果您可以控制示例中的local-dependency
模块,更好的解决方案是更新依赖项或您的应用程序以使用与@types/react
模块相同的版本,删除您的 npm 模块,然后重新执行npm install
。 这应该允许 npm 安装模块的单个共享版本,消除任何冲突的可能性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.