我正在使用无服务器来部署带有 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