是否可以将多个内部模块组合到一个外部模块?
Is it possible to combine multiple internal modules to one external?
我想实现的是这样的布局:
// Shape.ts
module Shape {
export interface Shape {
area(): number;
}
}
// Rectangle.ts
module Shape {
export class Rectangle implements Shape {
constructor(private x:number, private y: number) {}
area(): number {
return this.x * this.y;
}
}
}
// Square.ts
module Shape {
export class Square implements Shape {
constructor(private x:number) {}
area(): number {
return Math.pow(this.x, 2);
}
}
}
// geometry.ts
/// <reference path="Shape.ts" />
/// <reference path="Rectangle.ts" />
/// <reference path="Square.ts" />
export = Shape.Rectangle;
export = Shape.Square;
,我有大多数代码在常规的内部模块。而且,为了构建Node.js模块,我有一个外部模块,它导出所有的东西,这是为了供Node模块用户使用。
但是目前,当我调用tsc -m commonjs --outFile geometrylib.js geometry.ts
时,我得到一个没有任何module.exports
语句的geometrylib.js
,因为它应该在CommonJS构建中。
当前版本的TypeScript有可能吗?
p tsc --version
给我message TS6029: Version 1.6.0-beta
是否可以将多个内部模块组合到一个外部模块?
代替
export = Shape.Rectangle;
export = Shape.Square;
你可以这样做:
export = Shape;
然而我建议你不要混合内部和外部模块…就像你的消费者尊重npm
,接受commonjs
。
@)
相关文章:
- Javascript,访问一个主要对象模块模式中的每个对象
- 错误:$injector:modulerr模块错误(我的第一个SPA应用程序)
- 如何定义一个模块并使用它来分离js文件
- 聚合物是一个框架而不是一个库.如何模块化地使用web组件
- 需要从一个文件中获取多个模块
- 在一个表达式中加载并使用ES6模块
- 在我的JavaScript模块中绑定一个点击事件
- ESDoc将我所有的模块方法放在一个标题下,而不是放在每个文件下,我该如何改变这种行为
- 从一个模块暴露到另一个模块
- 查找与锁定和更新调度相关的一个或两个节点模块
- NodeJS:一个全局EventEmitter或每个模块它'他自己的
- 如何将多个 AMD 模块捆绑在一个文件中
- 节点模块对象范围:在所有函数之间共享一个对象
- 从导出的模块返回变量,并在另一个文件(NodeJS)中使用它
- 在节点中.js“模块”始终是一个对象
- 在单独的模块中放入一个脚本
- Node.js创建一个模块来收集内存(ram)信息
- 如何从另一个模块调用函数
- 无法调用requirejs中的另一个模块
- 无法导入模块:您可能需要一个合适的加载程序