我正在使用Rollup.js组建一个JavaScript库。我有一个初始化函数,它调用外部代码,假定库已满载。我的主要JS文件如下所示:
export * from 'file1';
export * from 'file2';
...
// init code here
然而Rollup不尊重订单而是输出:
// init code here
exports.obj1 = obj1;
exports.obj2 = obj2;
...
当init代码触发时,只要外部代码试图访问任何库成员,它就会产生ReferenceError
,因为它们在调用时尚未导出。
我可以通过类似setTimeout(init, 1);
的方式人为地延迟调用以使其工作,但这绝不是最佳解决方案,每次构建项目时手动移动代码块都会让人感到烦恼。
是否有某种方法可以强制Rollup.js在导出块之后放置一些代码?