如何在nodeJS中使用typescript - “require”问题

时间:2016-06-12 10:30:05

标签: node.js typescript require

我正在设置一个新的节点/打字稿项目, 并且无法使基础工作。

'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

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

一旦你开始,TS就很棒了,但是初始配置周围的变化很容易让人感到麻烦。 我也是looked at this answer,但它并没有解决这个问题。那里的一些建议似乎不再起作用。

我试图编译成ES6。 打字版1.0.5

使用tsconfig.jsontypings.json我已从一个单独的工作项目中复制并尽可能删除。我想我必须经过镊子,试着找出与众不同的东西。

2 个答案:

答案 0 :(得分:3)

TypeScript 2 + 支持:

npm install --save @types/node

<强>分型

typings install dt~node --global

并查看Typings repo上的文档。

一般情况下,您可以尝试,例如: typings search node

您应该会看到可用的类型及其source

例如:node包含dtenv下的来源。

dt是Definitely Typed存储库的缩写。这是社区制作类型定义的大型GitHub存储库,但现在您必须指定是否要从此处安装它。通常,最好的来源是来自npm,因为希望由该存储库的核心团队维护。

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

对环境类型使用--global标志。

Global is the new ambient

  

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

     

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

     

这也意味着 - 现在是--global

例如,我的typings.json有以下内容:

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

答案 1 :(得分:0)

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

typings install dt~node --global