只是从Typescript开始。用单个index.ts文件制作了一个简单的项目,我想利用node-fetch
。所以我的代码看起来像
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'.
看起来像全局安装的打字稿模块包含用于提取的类型。我对此有两个疑问
tsc
只查看当前目录下的类型?tsc
正在寻找什么目录以确定类型?编辑: 我还添加了https://www.npmjs.com/package/@types/node-fetch,希望它会优先但不会带来欢乐
答案 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
的存在。 import
或export
向编译器指示您的文件是ES6模块而不是脚本。在模块中,您可以根据需要定义变量,而无需覆盖全局变量。
答案 1 :(得分:0)