- 配置参考 Configuration
- 入门指南
- 介绍 Introduction
- 安装 Installation
- 配置 Configuration
- 视图 Views
- 资产 Assets
- 路由 Routing
- SEO and Meta
- 过渡 Transitions
- 数据获取 Data Fetching
- 状态管理 State Management
- 错误处理 Error handling
- 层结构 Layers
- 部署 Deployment
- 测试 Testing
- 升级指南 Upgrade Guide
- 核心概念
- 自动导入 Auto imports
- Vue.Js Vue.js Development
- 渲染模式 Rendering Modes
- 服务端引擎 Server Engine
- 模块化 Modules
- ES模块 ES Modules
- TypeScript TypeScript
- 目录结构
- 可组合项
- 组件
- 工具库
- fetch
- abortNavigation
- addRouteMiddleware
- clearError
- clearNuxtData
- createError
- defineNuxtComponent
- defineNuxtRouteMiddleware
- definePageMeta
- navigateTo
- onBeforeRouteLeave
- onBeforeRouteUpdate
- onNuxtReady
- prefetchComponents
- preloadComponents
- preloadRouteComponents
- refreshNuxtData
- reloadNuxtApp
- setPageLayout
- setResponseStatus
- showError
- updateAppConfig
- CLI 命令
- 进阶
- 深入探究
- 迁移指南
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
useRuntimeConfig
可组合项用于在您的应用程序中公开配置变量。
使用方法
app.vue<script setup lang="ts">
const config = useRuntimeConfig()
</script>
server/api/foo.tsexport default defineEventHandler((event) => {
const config = useRuntimeConfig()
})
定义运行时配置
下面的示例显示了如何设置一个公共 API 基本 URL 和一个只能在服务器上访问的秘密 API 令牌。
我们应该始终在 nuxt.config
中定义 runtimeConfig
变量。
export default defineNuxtConfig({
runtimeConfig: {
// 私钥仅在服务器上可用
apiSecret: '123',
// 公开给客户端的公钥
public: {
apiBase: process.env.NUXT_PUBLIC_API_BASE || '/api'
}
}
})
需要在服务器上访问的变量直接添加到 runtimeConfig
中。
需要在客户端和服务器上都可以访问的变量在 runtimeConfig.public
中定义。
访问运行时配置
要访问运行时配置,我们可以使用 useRuntimeConfig()
组合:
export default async () => {
const config = useRuntimeConfig()
// 访问公共变量
const result = await $fetch(`/test`, {
baseURL: config.public.apiBase,
headers: {
// 访问私有变量(仅在服务器上可用)
Authorization: `Bearer ${config.apiSecret}`
}
})
return result
}
在此示例中,由于 apiBase
是在 public
命名空间中定义的,因此它可以在服务器端和客户端普遍访问,而 apiSecret
只能在服务器端访问。
环境变量
可以使用前缀为NUXT_
的匹配环境变量名称更新运行时配置值。
使用.env文件
Nuxt 在 runtime-config
中使用app
命名空间,键包括baseURL
和cdnURL
。 您可以通过设置环境变量在运行时自定义它们的值。
这是一个保留的命名空间。 你不应该在app
中引入额外的键。
app.baseURL
默认情况下,baseURL
设置为/
。
但是,可以通过将NUXT_APP_BASE_URL
设置为环境变量来在运行时更新 baseURL
。
然后,您可以使用config.app.baseURL
访问这个新的基本 URL:
export default defineNuxtPlugin((NuxtApp) => {
const config = useRuntimeConfig()
// 通用访问baseURL
const baseURL = config.app.baseURL
})
app.cdnURL
此示例演示如何设置自定义 CDN url 并使用 useRuntimeConfig()
访问它们。
您可以使用自定义 CDN,使用NUXT_APP_CDN_URL
环境变量在.output/public
内提供静态资产。
然后使用 config.app.cdnURL
访问新的 CDN url。
export default defineEventHandler((event) => {
const config = useRuntimeConfig()
// 通用访问cdnURL
const cdnURL = config.app.cdnURL
})
相关阅读:going-further > runtime-config如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论