使用 Rollup.js 在导出列表后附加代码

Appending Code After Exports List With Rollup.js

我正在使用 Rollup.js 来组合一个 JavaScript 库。我有一个初始化函数,它调用假定库已完全加载的外部代码。我的主要 JS 文件如下所示:

export * from 'file1';
export * from 'file2';
...

// init code here

但是 Rollup 不遵守顺序而是输出:

// init code here

exports.obj1 = obj1;
exports.obj2 = obj2;
...

当初始化代码触发时,每当外部代码试图访问库的任何成员时,它都会生成一个 ReferenceError,因为它们在调用时尚未导出。

我可以用 setTimeout(init, 1); 之类的东西人为地延迟调用以使其工作,但这绝不是最佳解决方案,每次构建项目时手动移动代码块都非常烦人。

有什么方法可以强制 Rollup.js 在导出块 之后 放置一些代码吗?

Rollup.js 有一个 outro 选项 documented here

感谢 Rollup GitHub 页面上的 Olsonpm