我有两个文件,每个文件都有一个类:
//Hello.ts
export class Hello {
private n: number = 100;
private s: string = "Hi";
public prints(s: string): void {
console.log(s);
}
}
//Foo.ts
import {Hello} from 'Hello'
export class Foo {
public test(): void {
let hello: Hello = new Hello();
hello.prints("Hi");
}
}
当我tsc Hello.ts Foo.ts --target es6 --out module.js
收到Cannot compile modules using option 'out' unless the '--module' flag is 'amd' or 'system'.
时,如何将单独文件中的两个类合并到一个ES6模块中?
我打开了询问implement such feature的问题,但有人说它已经受支持了。
答案 0 :(得分:1)
您可以通过单个模块访问类Foo
和Hello
:
// main.ts
export { Hello } from "./Hello";
export { Foo } from "./Foo";
现在这些类可从2个模块中获得:它们的原始文件和main
。
此外,就像Bergi在评论中建议的那样,您可以将Rollup与TypeScript插件一起使用:this one或this other。
汇总使用几个模块并仅使用入口点模块的导出来生产一个模块。您可以在线with the REPL进行测试(使用JavaScript语法,因为REPL没有TypeScript插件)。