我正在尝试向TypeScript编译器添加一个插件,所以我添加了我的代码并编译了tsc.ts.它编译正确,但是当我运行时,它缺少一些在io.ts中声明的变量。我删除了我的更改,但仍然无效。所以我尝试了这个:
文件:a.ts
var a : number = 5;
file:b.ts
///<reference path='a.ts' />
console.log(a);
然后编译:{{1}}给了我a.js和b.js.
当我尝试运行b.js(我做tsc b.ts
)时,变量node b.js
未定义。
这就是a
:
b.js
所以///<reference path='a.ts' />
console.log(a);
未定义是有意义的,因为a
在此文件中没有任何地方,a
也是如此。
我编译错误,或执行错误..或者是什么?
答案 0 :(得分:5)
如果您在节点下运行,则应使用export
和import
来管理跨文件依赖关系。
<强> a.ts 强>
export var x = 5;
<强> b.ts 强>
import a = require('./a');
console.log(a.x);
使用--module commonjs
如果您在网络上运行,可以使用--outFile
连接到单个文件中,但这通常不是节点下的好选项。