diff --git a/packages/nuxt3/src/app/nuxt.ts b/packages/nuxt3/src/app/nuxt.ts index d2db362dc9..e5ed0b9838 100644 --- a/packages/nuxt3/src/app/nuxt.ts +++ b/packages/nuxt3/src/app/nuxt.ts @@ -120,8 +120,12 @@ export function createNuxtApp (options: CreateOptions) { // Expose runtime config if (process.server) { - nuxtApp.provide('config', options.ssrContext.runtimeConfig.private) - nuxtApp.payload.config = options.ssrContext.runtimeConfig.public + nuxtApp.provide('config', options.ssrContext.runtimeConfig) + // Client's runtime-config + nuxtApp.payload.config = { + public: options.ssrContext.runtimeConfig.public, + app: options.ssrContext.runtimeConfig.app + } } else { nuxtApp.provide('config', reactive(nuxtApp.payload.config)) } diff --git a/packages/nuxt3/src/core/runtime/nitro/renderer.ts b/packages/nuxt3/src/core/runtime/nitro/renderer.ts index b59525afcc..1c7927e2b4 100644 --- a/packages/nuxt3/src/core/runtime/nitro/renderer.ts +++ b/packages/nuxt3/src/core/runtime/nitro/renderer.ts @@ -32,7 +32,7 @@ const getSPARenderer = cachedResult(async () => { ssrContext.nuxt = { serverRendered: false, config: { - ...config.public, + public: config.public, app: config.app } } @@ -84,13 +84,12 @@ export default eventHandler(async (event) => { } // Initialize ssr context - const config = useRuntimeConfig() const ssrContext = { url, event, req: event.req, res: event.res, - runtimeConfig: { private: config, public: { ...config.public, app: config.app } }, + runtimeConfig: useRuntimeConfig(), noSSR: event.req.headers['x-nuxt-no-ssr'], error: ssrError,