【问题标题】:TypeScript - Using the <reference path="....."> tagTypeScript - 使用 <reference path="....."> 标签
【发布时间】:2013-10-30 14:43:27
【问题描述】:

我正在尝试向 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 也是如此。

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

【问题讨论】:

标签: node.js typescript tsc


【解决方案1】:

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

a.ts

export var x = 5;

b.ts

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

--module commonjs编译

如果您在网络上运行,您可以使用--outFile 连接到单个文件中,但这通常不是节点下的好选择。

【讨论】:

  • 非常感谢!我同意导入/导出似乎更优雅。但是在他们使用 的 typsescript 编译器中,所以我需要做 --out 的事情...(它有效!!)再次感谢您!
  • 像 Buffer 这样的东西呢?除了在 cmets 中使用引用标签之外,我似乎找不到任何其他方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-02
  • 1970-01-01
  • 1970-01-01
  • 2021-11-21
  • 1970-01-01
  • 2016-06-23
  • 2015-07-24
相关资源
最近更新 更多