如何在Nuxt 3的nuxt.config.ts中设置baseURL而非使用环境变量
Nuxt runtimeConfig配置baseURL的正确方式
默认Nuxt的baseURL默认值为'/',可通过环境变量NUXT_APP_BASE_URL在运行时修改,之后用useRuntimeConfig().app.baseURL访问。但你直接在nuxt.config.ts里配置时,不能把app嵌套在public对象下,这是你配置失效的核心原因。
正确配置分两种场景:
1. 仅服务端需要访问baseURL
将app作为runtimeConfig的顶层属性配置:
export default defineNuxtConfig({ runtimeConfig: { app: { baseURL: '/your-custom-base/' // 替换为你的基准URL }, public: { site: { appName: '你的应用名称', description: '你的应用描述' } } } })
之后在服务端通过useRuntimeConfig().app.baseURL获取该值。
2. 客户端和服务端都需要访问baseURL
如果需要客户端也能读取这个基准URL,要把app.baseURL放到public对象下:
export default defineNuxtConfig({ runtimeConfig: { public: { site: { appName: '你的应用名称', description: '你的应用描述' }, app: { baseURL: '/your-custom-base/' // 替换为你的基准URL } } } })
此时客户端和服务端都可以通过useRuntimeConfig().public.app.baseURL获取该值。
注意:对应环境变量的命名规则也会不同——服务端专属的
baseURL对应NUXT_APP_BASE_URL,客户端可访问的则对应NUXT_PUBLIC_APP_BASE_URL。
内容的提问来源于stack exchange,提问作者Marian Klühspies
相关产品推荐
相关产品推荐

