提问人:user20663233 提问时间:2/27/2023 最后编辑:kissuuser20663233 更新时间:2/28/2023 访问量:6320
如何在 Nuxt 3 中使用 .env 文件
How to use .env file in Nuxt 3
问:
我使用 Nuxt-3 作为我的项目框架,并且对该框架也很陌生,当我为我的项目集成 api 时,当我尝试将 api 用作根目录中 .env 文件中的全局变量时,我得到了响应;但我无法获得响应,因为我在控制台上出现错误,因此请以简单的解释方式指导我走上正确的道路,以便我可以对问题进行排序并学习新概念。 我用以下命令安装了依赖项: npm 安装 --save-dev @nuxtjs/dotenv
我尝试的代码是:
<template>
</template>
<script setup>
import axios from 'axios'
axios.defaults.baseURL = process.env.API_URL
axios.defaults.headers.common['Authorization'] = process.env.API_KEY
const response = await this.$axios.get('/pgs').then(response => response.data)
console.log(response)
</script>
答:
2赞
user6684898
2/27/2023
#1
将 .env 文件用于项目时,不需要任何依赖项。在我所有的项目中,这是我在存储重要数据时所做的过程。
- 创建 .env 文件
- 添加数据,例如
[email protected]
- 在您的文件中,添加以下内容
nuxt.config.ts
runtimeConfig: { EMAIL: process.env.EMAIL, },
- 要在后端访问它,您需要使用可组合项 https://nuxt.com/docs/api/composables/use-runtime-config#useruntimeconfig 查看更多详细信息。
useRuntimeConfig
请参阅 stackblitz https://stackblitz.com/edit/nuxt-starter-g534de?file=nuxt.config.ts 上的示例
1赞
YogendraR
2/28/2023
#2
您可以使用以下命名约定在根目录中创建文件:.env
对于开发环境,您可以将其命名为 ,
.env.dev
对于生产环境,可以将其命名为
.env.prod
下一步是添加你的nuxt配置:publicRuntimeConfig
publicRuntimeConfig:{
API_KEY: process.env.NODE_ENV == 'prod' ? 'AAA' : 'BBB'
}
现在,您可以在组件中用作:API_KEY
this.$config.API_KEY
评论
1赞
kissu
2/28/2023
不要使用像 和 这样的文件,而是按环境设置这些文件。dev
prod
0赞
YogendraR
2/28/2023
是的,正确,仅供参考
0赞
kissu
2/28/2023
可能会使人们感到困惑,让他们认为这是您管理每个环境变量的方式。这就像当每个人都用 as 做一个循环时,是的,这是为了快速和肮脏的例子,但这只是完全错误的 tbh。给出一个带有免责声明的正确答案,或者只是不谈论不好的方法可能会更好。v-for
index
key
0赞
Kishan Bhensadadiya
8/23/2023
@kissu在上面的答案中,我们如何表明NODE_ENV是 prod 还是 dev?我的意思是,当我们需要为生产而构建时,我们如何从中获得价值?prod
process.env.NODE_ENV
评论