【发布时间】:2019-09-11 09:41:06
【问题描述】:
我在一个网络项目中使用打字稿。我使用awesome-typescript-loader 作为webpack 加载程序。构建项目时出现错误:
ERROR in [at-loader] ./node_modules/@types/node/index.d.ts:82:15
TS2451: Cannot redeclare block-scoped variable 'custom'.
ERROR in [at-loader] ./node_modules/@types/node/index.d.ts:85:15
TS2451: Cannot redeclare block-scoped variable 'custom'.
ERROR in [at-loader] ./node_modules/@types/node/ts3.2/util.d.ts:7:15
TS2451: Cannot redeclare block-scoped variable 'custom'.
ERROR in [at-loader] ./node_modules/@types/node/ts3.2/util.d.ts:10:15
TS2451: Cannot redeclare block-scoped variable 'custom'.
我启动了一个只安装了typescript 和@types/typescript 的全新文件夹,我仍然可以看到visual studio code 抱怨的相同错误。
以下版本:
"dependencies": {
"@types/node": "^11.13.6",
"typescript": "^3.4.4"
}
如上所示的错误,我发现
在index.d.ts:
declare module "util" {
namespace inspect {
const custom: symbol;
}
namespace promisify {
const custom: symbol;
}
namespace types {
function isBigInt64Array(value: any): boolean;
function isBigUint64Array(value: any): boolean;
}
}
在util.d.ts:
declare module "util" {
namespace inspect {
const custom: unique symbol;
}
namespace promisify {
const custom: unique symbol;
}
namespace types {
function isBigInt64Array(value: any): value is BigInt64Array;
function isBigUint64Array(value: any): value is BigUint64Array;
}
}
我们可以看到custom 确实在index.d.ts 和util.d.ts 中被重新声明。
所以我的问题是如何解决这个问题?这是@types/node 的错误吗?
【问题讨论】:
标签: node.js typescript visual-studio-code