The chunk is reachable doesn’t mean the user’s browser can parse it. For example, if the user’s browser is old. But the chunk contains new syntax.
Webpack loads the chunk by jsonp. It insert <script>
tag into <head>
. If the js chunk file is downloaded but cannot parsed. A ChunkLoadError
will be throw.
You can reproduce it by following these steps. Write an optional chain and don’t compile it. Ensure it output to a chunk.
const obj = {};
obj.sub ??= {};
Open your app by chrome 79 or safari 13.0. The full error message looks like this:
SyntaxError: Unexpected token '?' // 13.js:2
MAX RELOADS REACHED // chunk-load-handler.js:24
ChunkLoadError: Loading chunk 13 failed. // trackConsoleError.js:25
(missing: http://example.com/13.js)