4

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

索引.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希望它会优先但没有乐趣

4

2 回答 2

1

首先,安装 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。Animport或 anexport向编译器表明您的文件是 ES6 模块而不是脚本。在模块中,您可以根据需要定义变量,而无需覆盖全局变量。

于 2019-02-19T10:22:52.823 回答
0

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

于 2019-02-19T09:51:12.640 回答