在打字稿中重复获取标识符

时间:2019-02-18 17:04:15

标签: typescript node-fetch

只是从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'.

我的理解

看起来像全局安装的打字稿模块包含用于提取的类型。我对此有两个疑问

问题

  • a)我该如何做到使tsc只查看当前目录下的类型?
  • b)如果我什么也不做,tsc正在寻找什么目录以确定类型?
  • c)我的方法有明显的缺陷a)值得一提吗?

编辑: 我还添加了https://www.npmjs.com/package/@types/node-fetch,希望它会优先但不会带来欢乐

2 个答案:

答案 0 :(得分:2)

首先,为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模块而不是脚本。在模块中,您可以根据需要定义变量,而无需覆盖全局变量。

答案 1 :(得分:0)