bfd96ac012
- Fixes `with-webassembly` example unable to build with the current `next.config.js`. https://github.com/vercel/next.js/issues/29362#issuecomment-932767530 - Converted example to TypeScript ```js // Before config.output.webassemblyModuleFilename = 'static/wasm/[modulehash].wasm' // After config.output.webassemblyModuleFilename = isServer && !dev ? '../static/wasm/[modulehash].wasm' : 'static/wasm/[modulehash].wasm' ``` ``` > Build error occurred Error: Export encountered errors on following paths: / at /Users/max/dev/next.js/examples/with-webassembly/node_modules/next/dist/export/index.js:408:19 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Span.traceAsyncFn (/Users/max/dev/next.js/examples/with-webassembly/node_modules/next/dist/trace/trace.js:79:20) at async /Users/max/dev/next.js/examples/with-webassembly/node_modules/next/dist/build/index.js:1342:21 at async Span.traceAsyncFn (/Users/max/dev/next.js/examples/with-webassembly/node_modules/next/dist/trace/trace.js:79:20) at async /Users/max/dev/next.js/examples/with-webassembly/node_modules/next/dist/build/index.js:1202:17 at async Span.traceAsyncFn (/Users/max/dev/next.js/examples/with-webassembly/node_modules/next/dist/trace/trace.js:79:20) at async Object.build [as default] (/Users/max/dev/next.js/examples/with-webassembly/node_modules/next/dist/build/index.js:65:29) ELIFECYCLE Command failed with exit code 1. ``` ## Documentation / Examples - [X] Make sure the linting passes by running `pnpm build && pnpm lint` - [X] The "examples guidelines" are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md)
18 lines
601 B
JavaScript
18 lines
601 B
JavaScript
/** @type {import('next').NextConfig} */
|
|
const nextConfig = {
|
|
webpack(config, { isServer, dev }) {
|
|
// Use the client static directory in the server bundle and prod mode
|
|
// Fixes `Error occurred prerendering page "/"`
|
|
config.output.webassemblyModuleFilename =
|
|
isServer && !dev
|
|
? '../static/wasm/[modulehash].wasm'
|
|
: 'static/wasm/[modulehash].wasm'
|
|
|
|
// Since Webpack 5 doesn't enable WebAssembly by default, we should do it manually
|
|
config.experiments = { ...config.experiments, asyncWebAssembly: true }
|
|
|
|
return config
|
|
},
|
|
}
|
|
|
|
module.exports = nextConfig
|