我目前在foo.ts
(编辑:不能修改)中定义了一个内部模块
module Foo {
export function foo(){
console.log('foo');
}
}
我想在外部模块(要在Node中使用)中进行转换。因此,我创建了一个bar.ts
我引用的地方foo.ts
,然后尝试将其导出。
/// <reference path='foo.ts' />
export = Foo;
当我使用tsc -m commonjs --out bundle.js bar.ts
它进行编译时,我希望它可以将的声明连接起来foo.ts
,然后将的输出连接起来bar.ts
。但是我得到foo.ts
并bar.ts
编译但分开,然后bundle.js
只有与相同的代码foo.js
。
var Foo;
(function (Foo) {
function foo() {
console.log('foo');
}
Foo.foo = foo;
})(Foo || (Foo = {}));
这甚至有可能实现吗?
似乎无法使用export
Typescript关键字完成此操作。解决方案是(使用相同的foo.ts)使用此bar.ts
/// <reference path="foo.ts" />
exports = Foo; // You will need node.d.ts
它获取编译成束foo.ts
和bar.ts
。坏消息是您失去了使用相同源(即使用export
)(轻松)创建AMD和CommonJS模块的能力。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句