Relationship between import, require and /// <reference



我是TypeScript的新手。这里有一个片段:

/// <reference path="typings/node/node.d.ts" />
const
    fs = require('fs'),
    spawn = require('child_process').spawn,
    filename = process.argv[2];

为什么在这种情况下需要///线路?我原以为只有进口产品才需要它。

另一方面,这里有另一个片段:

/// <reference path="typings/tsd.d.ts" />
import fs = require('fs');
import should = require('should');
var parse = require('csv-parse');

在这种情况下,"csv parse"没有安装tsd文件(在打字符/中),也没有在tsd.json中列出,但那一行没有给出错误?

为什么在这种情况下需要///行?

不再建议使用reference注释。这些是之前的,有类似tsconfig.json的东西:https://github.com/TypeStrong/atom-typescript/blob/master/docs/tsconfig.md这些是为了告诉IDE哪些其他文件需要成为编译上下文的一部分。

"csv parse"没有安装tsd文件(在typeings/中),也没有在tsd.json中列出,但那一行没有给出错误?

这是因为您在var parse = require('csv-parse');中使用的是var/require,而不是import/require

如果使用import/require,则会出现错误requirenode.d.ts中定义的函数,这意味着var/require是允许的,但不能像import/require那样进行类型检查

相关内容

最新更新