0

我正在使用无服务器来部署带有 SSR 的 React 应用程序。当我使用可加载组件进行代码拆分时,一切都很好,直到我尝试预取资源。添加 /* webpackPrefetch: true */ 到任何可加载的方法会导致服务器端在导入我的 <App> 时崩溃

TypeError: Cannot read property '__esModule' of undefined
    at /Users/alexgawley/code/serverless/tmp/loadable-repro/.webpack/service/src/servers/static.js:29310:34
    at Object.<anonymous> (/Users/alexgawley/code/serverless/tmp/loadable-repro/.webpack/service/src/servers/static.js:29312:12)
    at Module._compile (internal/modules/cjs/loader.js:999:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
    at Module.load (internal/modules/cjs/loader.js:863:32)
    at Function.Module._load (internal/modules/cjs/loader.js:708:14)
    at Module.require (internal/modules/cjs/loader.js:887:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at /Users/alexgawley/code/serverless/tmp/loadable-repro/node_modules/serverless-offline/dist/lambda/handler-runner/in-process-runner/InProcessRunner.js:157:133
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async InProcessRunner.run (/Users/alexgawley/code/serverless/tmp/loadable-repro/node_modules/serverless-offline/dist/lambda/handler-runner/in-process-runner/InProcessRunner.js:157:9)
To Reproduce

重现行为的步骤:

git clone https://github.com/agawley/loadable-repro
npm i
npm run offline

加载 http://localhost:3000

该页面应加载一个“显示/隐藏”链接,该链接显示延迟加载的组件 SomeText。如果您从 app.js 中删除 /* webpackPrefetch: true */ 注释,您将获得预期的行为(但没有预取!)

## System:
 - OS: macOS 10.15.7
 - CPU: (12) x64 Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
 - Memory: 834.46 MB / 16.00 GB
 - Shell: 5.7.1 - /bin/zsh
## Binaries:
 - Node: 12.22.1 - ~/.nvm/versions/node/v12.22.1/bin/node
 - Yarn: 1.22.10 - /usr/local/bin/yarn
 - npm: 7.13.0 - ~/.nvm/versions/node/v12.22.1/bin/npm
## npmPackages:
 - @loadable/babel-plugin: ^5.13.2 => 5.13.2 
 - @loadable/component: ^5.15.0 => 5.15.0 
 - @loadable/server: ^5.15.0 => 5.15.0 
4

1 回答 1

1

从 webpack 得到答案。这是webpack 中的一个错误PR 修复(尚未接受,但作为补丁工作)

于 2021-07-02T10:55:40.873 回答