如何在 Nuxt 3 中使用 .env 文件

How to use .env file in Nuxt 3

提问人:user20663233 提问时间:2/27/2023 最后编辑:kissuuser20663233 更新时间:2/28/2023 访问量:6320

问:

我使用 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>
vue.js vuejs3 nuxtjs3 infinity

评论

0赞 Estus Flask 2/27/2023
哪个错误?该问题缺乏明确的问题陈述。如果你没有来自 env 的值,那么请求的东西是多余的。env 当前未使用。请参阅 nuxtjs.org/tutorials/...
0赞 kissu 2/27/2023
那个回答了你的问题吗?stackoverflow.com/a/67705541/8816585

答:

2赞 user6684898 2/27/2023 #1

将 .env 文件用于项目时,不需要任何依赖项。在我所有的项目中,这是我在存储重要数据时所做的过程。

  1. 创建 .env 文件
  2. 添加数据,例如[email protected]
  3. 在您的文件中,添加以下内容nuxt.config.tsruntimeConfig: { EMAIL: process.env.EMAIL, },
  4. 要在后端访问它,您需要使用可组合项 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

  1. 对于开发环境,您可以将其命名为 ,.env.dev

  2. 对于生产环境,可以将其命名为.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
不要使用像 和 这样的文件,而是按环境设置这些文件。devprod
0赞 YogendraR 2/28/2023
是的,正确,仅供参考
0赞 kissu 2/28/2023
可能会使人们感到困惑,让他们认为这是您管理每个环境变量的方式。这就像当每个人都用 as 做一个循环时,是的,这是为了快速和肮脏的例子,但这只是完全错误的 tbh。给出一个带有免责声明的正确答案,或者只是不谈论不好的方法可能会更好。v-forindexkey
0赞 Kishan Bhensadadiya 8/23/2023
@kissu在上面的答案中,我们如何表明NODE_ENV是 prod 还是 dev?我的意思是,当我们需要为生产而构建时,我们如何从中获得价值?prodprocess.env.NODE_ENV