打字稿中的重复标识符提取

Duplicate identifier fetch in typescript

刚开始使用 Typescript。用一个 index.ts 文件创建了一个简单的项目,我想使用它 node-fetch。所以我的代码看起来像

index.ts

var fetch = require('node-fetch');
fetch("https://www.google.com")

当 运行 tsc index.ts 我得到以下结果

../../../../.nvm/versions/node/v10.14.0/lib/node_modules/typescript/lib/lib.dom.d.ts:17778:18 - error TS2300: Duplicate identifier 'fetch'.

我的理解

看起来全局安装的打字稿模块包含用于获取的类型。关于这个我有两个问题

问题

编辑: 我还添加了 https://www.npmjs.com/package/@types/node-fetch 希望它会优先但没有快乐

列出文件或在外部包含:https://basarat.gitbooks.io/typescript/docs/project/files.html

首先,为 Node.js 和 node-fetch 安装类型:

npm install -D @types/node@10 @types/node-fetch

然后,使用node-fetch:

import fetch from 'node-fetch';
fetch("https://www.google.com");

注意关键字 import 的存在。 importexport 向编译器表明您的文件是 ES6 模块而不是脚本。在模块中,您可以随意定义变量,而无需覆盖全局变量。