导入,需求和/// <reference

时间:2015-06-30 01:30:19

标签: typescript

=“”

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文件(在typings /中),也没有在tsd.json中列出,但该行没有出错?

显然我没有得到什么......谢谢!

1 个答案:

答案 0 :(得分:3)

  

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

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

  

'csv-parse'没有安装tsd文件(在typings /中),也没有在tsd.json中列出,但该行没有出错?

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

如果您使用import/require ,则会收到错误requirenode.d.ts中定义的函数,表示允许var/require,但 typechecked import/require相同。