首页 > 解决方案 > 反应可加载,preloadReady 不加载模块

问题描述

我正在运行一个服务器渲染的反应应用程序,并且遇到了Loadable.preloadReady()立即解决的问题,并且没有预加载可用的模块。

MySSR非常好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();
      }
    });
}

标签: reactjsserver-side-renderingreact-loadable

解决方案


所以我想通了,Babel 插件没有按预期工作:

在此处输入图像描述

出于某种原因,这并没有添加 webpack opt,并且根据常见问题解答,在某些情况下它会中断。

手动添加它自己解决了这个问题


推荐阅读