dynamic assetPrefix not working in "standalone" build, because of serialization
lionskape opened this issue · 0 comments
lionskape commented
Link to the code that reproduces this issue
https://github.com/lionskape/next-standalone-assetprefix-bugrepot/blob/main/next.config.js
To Reproduce
- create next config like this:
let nextConfig = {
output: 'standalone',
assetPrefix: process.env.CDN_URI ?? '',
};
- run
next build
without CDN_URI variable - run nextjs server
CDN_URI="https://cdn.net" node .next/standalone/server.js
Current vs. Expected behavior
Current behavior:
No prefix will be added to resources because of config serialization -
next.js/packages/next/src/build/utils.ts
Line 2116 in 81d5dad
Expected behavior:
dynamic assetPrefix works fine, environment variable is consumed.
Provide environment information
Operating System:
Platform: darwin
Arch: arm64
Version: Darwin Kernel Version 23.4.0: Fri Mar 15 00:10:42 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_T6000
Available memory (MB): 16384
Available CPU cores: 10
Binaries:
Node: 18.17.1
npm: 9.6.7
Yarn: N/A
pnpm: 7.32.1
Relevant Packages:
next: 14.2.3 // Latest available version is detected (14.2.3).
eslint-config-next: N/A
react: 18.2.0
react-dom: 18.2.0
typescript: 5.3.3
Next.js Config:
output: standalone
Which area(s) are affected? (Select all that apply)
Output (export/standalone), Runtime
Which stage(s) are affected? (Select all that apply)
next build (local)
Additional context
No response