我正在运行服务器渲染的React应用,发现Loadable.preloadReady()
不能立即解决,并且没有预先加载可用模块。
我的SSR
与preloadAll()
很好,它了解需要哪些组件,加载了它们的脚本并创建了SSR HTML
。
当使用相同的模块数组切换到index.js
时不起作用
编辑:我可以看到READY_INITIALIZERS
数组在运行时为空,因此为什么没有加载:
Loadable.preloadReady = function () {
return new Promise(function (resolve, reject) {
// We always will resolve, errors should be handled within loading UIs.
flushInitializers(READY_INITIALIZERS).then(resolve, resolve);
});
};
我要去设置webpack opt,文档说这不是必须的,但这似乎是不填充数组的唯一原因:
ALL_INITIALIZERS.push(init);
if (typeof opts.webpack === "function") {
console.log("is a function");
READY_INITIALIZERS.push(function () {
if (isWebpackReady(opts.webpack)) {
console.log("webpack is ready");
return init();
}
});
}