Node.js 为什么在使用Typescript时不需要节点的类型定义?

Node.js 为什么在使用Typescript时不需要节点的类型定义?,node.js,typescript,Node.js,Typescript,当我将nodejs与Typescript一起使用时,它允许我使用nodejs中的模块(如fs),尽管我没有安装@types/node 为什么??它们是否以某种方式被烘烤了?它确实需要@types/node: echo "import * fs fs from 'fs';" > test.ts tsc test.ts 导致 test.ts:1:21 - error TS2307: Cannot find module 'fs'. 1 import * as fs from 'fs';

当我将nodejs与Typescript一起使用时,它允许我使用nodejs中的模块(如
fs
),尽管我没有安装
@types/node


为什么??它们是否以某种方式被烘烤了?

它确实需要
@types/node

echo "import * fs fs from 'fs';" > test.ts
tsc test.ts
导致

test.ts:1:21 - error TS2307: Cannot find module 'fs'.

1 import * as fs from 'fs';
然后做一个

npm install @types/node
tsc test.ts
运行良好


您是否可能全局安装了@types/node?

当您使用的依赖项已经依赖于
@types/node
,那么您不需要自己定义
@types/node
依赖项,因为它已被提升


您可以通过运行
warn why@types/node
了解它是否被提升,这将显示有关的信息。

如何使用模块?问题是你说得对!我不知道我怎么会认为它不必在那里:(对不起