如何使用 es2015 模块打包库



假设我使用 export 语句创建了一个由一堆 es2015 模块文件组成的库,我怎样才能将它们打包到一个.js文件中以交付库?应该保留 es2015 模块,以便此库的用户仍然可以使用 import -语句导入导出的内容。

即假设有两个模块:

foo.js:

export default class Foo {...}

酒吧.js:

export default class Bar{...}

我想把它打包在一起...让我们说magic-lib.js然后像这样:

使用-magic-lib.js:

import Foo from 'magic-lib'
...

怎么能做到这一点呢?

顺便说一句:我尝试使用 rollup-js 将我的库打包到一个文件中,但我无法获得仍然使用 exports 的结果。除此之外,我最喜欢的解决方案是一些香草-js......

如果

有人感兴趣,我现在可以使用 rollup.js 与 Options.format= 'es' 和插件rollup-plugin-multi-entry捆绑包。我的错误是我使用了export default,并期望这将适用于单个捆绑文件中的多个导出。汇总插件多条目不会将它们保留在最终捆绑包中。但是使用非默认导出是有效的。

因此,从更高的级别来看,我现在对 rollup.js 创建的每个模块都有一个 js 文件。这个模块-js-文件由几个类组成。仅导出那些应该从库(公共接口(外部使用的类。

另外,我将所有模块js文件捆绑

在一个大的app-js文件(汇总汇总(中,该文件与options.format = 'iife'捆绑在一起,仅用作浏览器的可执行应用程序捆绑包。

-Module-A.js 
 |- class InternalTool
 |- export class A 
-Module-B.js
-Module-C.js
-App.js
|- Module A
|- Module B
|- Module C

通过这种方式,我能够创建可以组合到应用程序中的强分离和可重用的模块。

最新更新