nuxt环境变量
环境配置
-
1、可通过nuxt配置中,利用
runtimeConfig去动态配置环境变量 -
2、Nuxt 内置了对加载
.env文件的支持
env配置
Nuxt 3 默认使用 dotenv 机制,你可以创建以下几个 .env 文件:
.env:默认加载(所有环境通用).env.development:开发环境专用(nuxi dev).env.production:生产环境专用(nuxi build+nuxi preview或部署后运行)
注意点:
- 在
.env文件中定义变量(必须使用NUXT_前缀) - Nuxt 会将
.env文件中以NUXT_开头的变量注入为公开的运行时环境变量,可通过useRuntimeConfig()获取
统一管理 API 接口地址
- 创建一个api hooks工具方法,统一管理api相关
export function useApi() {
const config = useRuntimeConfig()
const baseUrl = config.public.apiBaseUrl
const fetchApi = async (url: string, options: any = {}) => {
const res = await $fetch(baseUrl + url, {
...options,
headers: {
...options.headers,
'Content-Type': 'application/json',
}
})
return res
}
return {
fetchApi,
}
}
修改生产环境端口号
- 通过设置PORT环境变量,来指定生产环境端口
| 类别 | 环境变量 | 用途 |
|---|---|---|
| 基础 | HOST / PORT | 控制监听地址和端口 |
| Nuxt专属 | NUXT_HOST / NUXT_PORT / NUXT_PUBLIC_* / NUXT_DEBUG / NITRO_PRESET | 控制构建和运行行为 |
| 标准Node | NODE_ENV | 切换开发/生产模式 |
| 公共变量 | NUXT_PUBLIC_* | 会注入客户端,可用于 API 地址、配置开关等 |
HOST、PORT实际是 Node.js 服务端惯用的环境变量- Nuxt 3 的服务底层是node服务
PORT和HOST是默认Node通用变量- 当build构建之后,在
.output的入口文件中,是可以看到process.env.PORT和process.env.HOST
验证 HOST/PORT 生效
console.log('Server running at:', process.env.HOST, process.env.PORT)