如何使用打字稿与nodeJS – “需要”的问题

我正在build立一个新的节点/打字稿项目,并且无法正常工作。

'use strict'; let fetch = require("node-fetch"); 

给我error TS2304: Cannot find name 'require'.

所以我觉得打字是需要的? 尝试:

 typings install node typings install nodejs typings install require 

所有这些给

Unable to find "XXX" ("npm") in the registry

什么是获取需求的正确方法,或者任何使用typescript的简单节点应用程序。

一旦你走了,TS是伟大的,但在初始configuration周围移动的沙子是一个相当麻烦去。 我也看了这个答案 ,但是并没有解决这个问题。 有些build议似乎不再有效。

我试图编译到ES6。 types版本1.0.5

使用tsconfig.jsontypings.json我已经从一个单独的工作项目复制,并尽可能删除。 我想我必须用镊子来弄清楚什么是不同的。

TypeScript 2+支持:

 npm install --save @types/node 

types

 typings install dt~node --global 

并检查了types回购的文件。

一般来说,你可以尝试,例如:typestypings search node

你应该看到可用的types和它们的source

例如: nodedtenvenv

dt是Definitely Typed仓库的简称。 这是一个大型的GitHub社区types定义仓库,但是现在你必须指定是否要从这里安装它。 通常情况下,最好的资源来自npm,因为这些资源库有望由核心团队维护。

您也可以指定版本[<source>~]<pkg>[@<version>][#<tag>] where <version> A semver range (Eg ">=5.0")

使用环境types的--global标志。

全球是新的环境 :

环境的使用现在是全球性的

这意味着在typings.json中任何ambientDependencies都应该被重命名为globalDependencies,并且任何ambientDevDependencies都应该被重命名为globalDevDependencies。

这也意味着 – 环境现在是 – 全球

例如,我的typings.json有以下几点:

 globalDependencies": { "node": "registry:dt/node#6.0.0+20160523035754", 

对于那些只想知道如何摆脱这个混乱的人来说,使用这个:

 typings install dt~node --global