TS2403:后续的变量声明必须具有相同的类型。 NPM 安装后
TS2403: Subsequent variable declarations must have the same type. After NPM install
我已经在堆栈溢出中搜索了这个问题,但我仍然不清楚为什么要 happening/how 解决这个问题。
我想在我的 Typescript 项目中使用 Node Typings,所以我输入了这个命令:
npm install @types/node --save
结果是:
c:/xyz/node_modules/@types/node/index.d.ts(89,13)
error TS2403: Subsequent variable declarations must have the same type.
Variable 'require' must be of type 'Require', but here has type 'NodeRequire'.
我的机器有节点版本 7.0.3
安装的类型适用于版本 + @types/node@7.0.28
如果我删除卸载类型,我的项目编译没有问题。
根据错误信息,似乎输入的内容不正确!修复它很麻烦。有什么建议吗?
这是 index.d.ts
中失败的代码行
似乎需要绕过 NodeRequire(接口)以支持 Require.js?
这是 TSConfig 文件:
{
"compilerOptions": {
"module": "amd",
"moduleResolution": "node",
"target": "es5",
"noImplicitAny": false,
"jsx": "react",
"sourceMap": false,
"baseUrl": ".",
"paths": {
"OfficeFabric/*": [
"node_modules/office-ui-fabric-react/lib-amd/*"
]
}
}
}
我尝试了下面的排除建议,但没有用。 Github 表示,如果模块解析为 NODE,则无论如何排除都不起作用。
好吧,终于找到了根本原因:Node 的 index.d.ts 文件与 Require 的 index.d.ts 文件冲突,两者都声明了一个名为 require 的变量。我找到它的方法是将 require 重命名为 nrequire 然后在项目中搜索 nrequire 的所有实例。有很多解决方案,
重命名变量(将在 npm 安装或更新时被清除)。
在 TypeScript 中使用 --types 选项来使用一个或另一个而不是两者。
- 只需删除节点输入。
我在工作项目中多次遇到这个问题,我通过卸载现有 node_modules
并安装现有 node_modules
.
的更新版本来解决它
我在工作项目中多次遇到这个问题。
我通过更改 typings.d.ts` 文件解决了这个问题:
declare var require: any;
我已经在堆栈溢出中搜索了这个问题,但我仍然不清楚为什么要 happening/how 解决这个问题。
我想在我的 Typescript 项目中使用 Node Typings,所以我输入了这个命令:
npm install @types/node --save
结果是:
c:/xyz/node_modules/@types/node/index.d.ts(89,13)
error TS2403: Subsequent variable declarations must have the same type.
Variable 'require' must be of type 'Require', but here has type 'NodeRequire'.
我的机器有节点版本 7.0.3 安装的类型适用于版本 + @types/node@7.0.28
如果我删除卸载类型,我的项目编译没有问题。
根据错误信息,似乎输入的内容不正确!修复它很麻烦。有什么建议吗?
这是 index.d.ts
似乎需要绕过 NodeRequire(接口)以支持 Require.js?
这是 TSConfig 文件:
{
"compilerOptions": {
"module": "amd",
"moduleResolution": "node",
"target": "es5",
"noImplicitAny": false,
"jsx": "react",
"sourceMap": false,
"baseUrl": ".",
"paths": {
"OfficeFabric/*": [
"node_modules/office-ui-fabric-react/lib-amd/*"
]
}
}
}
我尝试了下面的排除建议,但没有用。 Github 表示,如果模块解析为 NODE,则无论如何排除都不起作用。
好吧,终于找到了根本原因:Node 的 index.d.ts 文件与 Require 的 index.d.ts 文件冲突,两者都声明了一个名为 require 的变量。我找到它的方法是将 require 重命名为 nrequire 然后在项目中搜索 nrequire 的所有实例。有很多解决方案,
重命名变量(将在 npm 安装或更新时被清除)。
在 TypeScript 中使用 --types 选项来使用一个或另一个而不是两者。
- 只需删除节点输入。
我在工作项目中多次遇到这个问题,我通过卸载现有 node_modules
并安装现有 node_modules
.
我在工作项目中多次遇到这个问题。 我通过更改 typings.d.ts` 文件解决了这个问题:
declare var require: any;