假设我使用 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
通过这种方式,我能够创建可以组合到应用程序中的强分离和可重用的模块。