我的前端库的代码分为几个源文件。
例子:
// a.ts
function a() {}
// b.ts
function b() {}
// main.ts
const myLib = {
a: a,
b: b
}
我需要构建一个仅导出
myLib
的ES6模块(即一个JavaScript文件)作为默认导出。我看到两个选择。第一个:
tsc
将每个文件编译为JavaScript; my-lib.js
; export …
)。 第二个:
my-lib.ts
中; export default myLib
; tsc
。 这两个选项都很丑陋,并且失去了
map
文件。有没有更好的方法可以做到这一点?
最佳答案
正确的方法是创建一个将重新导出模块的桶文件。
// foo/a.ts
export function a() {}
// foo/b.ts
export function b() {}
// foo/index.ts
export {a} from './a';
export {b} from './b';
然后在您的消费者中:
import {a, b} from './foo';
a();
b();