假设我想在我的TypeScript项目中使用dotenv
模块,并安装它.d、 ts使用npm install @types/dotenv --save
.然后我意识到这些类型是不正确的.例如,config()
函数不返回布尔值,而是返回更丰富的对象.
我该如何处理这种情况?我是否应该将下载的类型定义复制到另一个文件中,手动更新并卸载@types/dotenv?有更好的办法吗?(我需要立即修复,而不是在upstream 维护人员将其合并之后.)
假设我想在我的TypeScript项目中使用dotenv
模块,并安装它.d、 ts使用npm install @types/dotenv --save
.然后我意识到这些类型是不正确的.例如,config()
函数不返回布尔值,而是返回更丰富的对象.
我该如何处理这种情况?我是否应该将下载的类型定义复制到另一个文件中,手动更新并卸载@types/dotenv?有更好的办法吗?(我需要立即修复,而不是在upstream 维护人员将其合并之后.)
我会判断dotenv
和@types/dotenv
的版本是否对齐,这可能是功能缺失的原因.
如果是,那么更干净的方法就是修改.d、 这是你自己.
为了做到这一点:npm remove @types/dotenv
.在项目上创建文件夹types
.将node_modules/@types
中的folder dotenv
复制到其中.
然后修复其中的d.T,修改tsconfig.json
,让它也在新文件夹中查找缺少typeRoots
的类型,如下所示:
{
"compilerOptions": {
"module": "commonjs",
"noImplicitAny": true,
"typeRoots": [
"./node_modules/@types",
"./types/",
]
},
"files": ["./app.ts"]
}
(别忘了添加./node_modules/@types
种或其他你在npm中找到的不再存在的类型.)
希望有帮助!