我正在尝试构建使用AWS JavaScript SDK v3的项目。我的tsconfig.json
{
"compilerOptions": {
"target":"ES2020",
"module": "commonjs",
"lib": ["es2020"],
"outDir": "dist",
"resolveJsonModule": true,
},
"exclude": [
"coverage",
"node_modules",
"dist",
"tests"
]
}
下面是我得到的构建错误的示例(为了简洁起见,我去掉了一些输出):
node_modules/@aws-sdk/client-s3/types/models/models_1.d.ts:727:23 - error TS2304: Cannot find name 'ReadableStream'.
node_modules/@aws-sdk/client-s3/types/models/models_1.d.ts:727:40 - error TS2304: Cannot find name 'Blob'.
node_modules/@aws-sdk/util-dynamodb/types/models.d.ts:19:86 - error TS2304: Cannot find name 'File'.
我不明白为什么会出现这样的问题,即使我已经安装了@types/node
模块来支持节点类型
4条答案
按热度按时间3hvapo4f1#
原来,为了让 typescript 找到
Blob
,File
等。我不得不将dom
条目添加到tsconfig.json的库中。这里是我最终的tsconfig,它允许我正确地构建项目sxpgvts32#
如果不将
dom
库包含在tsconfig.json
niknxzdl3#
我使用了
declare global
解决方案,但我必须将其中一个类型声明为“any”,以绕过实现Storage类的类:因此,我让所有的违规者输入“任何”,而不是“未知”
kcwpcxri4#
始终建议将
aws-sdk
v3与Node 18结合使用。如果不想包含DOM
,可以在tsconfig中指定Node 18。此外,您应该在版本18中使用
@types/node
: