4

我正在尝试向 TypeScript 编译器添加一个插件,所以我添加了我的代码并编译了 tsc.ts。它编译正确,但是当我运行时,它缺少一些在 io.ts 中声明的变量。我删除了我的更改,但它仍然不起作用。所以我尝试了这个:

文件:a.ts

var a : number = 5;

文件:b.ts

///<reference path='a.ts' />
console.log(a);

然后编译:tsc b.ts这给了我 a.js 和 b.js。当我尝试运行 b.js(我这样做node b.js)时,变量a未定义。这是什么内容b.js

///<reference path='a.ts' />
console.log(a);

所以a未定义是有意义的,因为a在这个文件中没有任何地方,所以a.ts.

我是编译错了,还是执行错了..还是什么?

4

1 回答 1

4

如果你在 node 下运行,你应该使用exportandimport来管理跨文件依赖。

a.ts

export var x = 5;

b.ts

import a = require('./a');
console.log(a.x);

编译--module commonjs

如果您在 web 上运行,您可以使用它--outFile来连接到单个文件,但这通常不是 node.js 下的好选择。

于 2013-10-21T22:29:24.807 回答