如何加载@type / node的index.d.ts

时间:2017-04-21 06:32:03

标签: node.js typescript

使用typescript制作我的第一个nodejs程序。也许我需要导入或引用@ types / node的index.d.ts。但它只是在exectue之后工作 npm install @types/node并附加代码import { setTimeout } from 'timers'

但引用它的方式。

抱歉,我的英语很差,谢谢。

1 个答案:

答案 0 :(得分:0)

TypeScript具有NodeJS模块分辨率算法的近似值,因此可以使这种情况更容易。

如果您未在--module中指定"module"tsconfig.json的值,则默认为"commonjs",而--moduleResolution默认设置为node_modules “节点”。

除了递归遍历上面和工作目录中的"packageName"目录,寻找与导入名称匹配的文件和目录之外,还可以自动解析packageName/package.json.main>>> NodeJS的"packageName"解析行为需要函数。它还可以启用packageName/index>>> index.d.ts惯例,其中NodeJS 通过其索引文件将目录作为模块。

在您的情况下,大致来说,这是自动解决node_modules的方式:

非相对模块说明符导入时,它会查找工作目录旁边的@types目录。

从那里首先查找package.json子目录。

如果找到与导入同名的目录,它会在该目录中查找package.json文件。

如果找到"main"属性为index.d.ts,则会解析导入该文件。

该文件为--traceResolution

提示:要查看此操作,请将tsc标记传递给{ "compilerOptions": { "traceResolution": true, // ... } } ,或设置

tsconfig.json
$result = 'NotFound'; foreach ($details as $item) { if($item['label'] == $test_name) { $result = $test_name; } } return $result; 中的

查看输出,您将看到其文件系统行走行为以及每次尝试解决导入问题。