Javascript 如何在Nuxt配置中使用Firebase环境变量

Javascript 如何在Nuxt配置中使用Firebase环境变量,javascript,firebase,nuxt.js,dotenv,Javascript,Firebase,Nuxt.js,Dotenv,我正在尝试从我的Nuxt配置文件中分离Firebase Creds。但是它说的是NuxtServerError您的API密钥无效,请检查您是否正确复制了它。当我将我的creds直接使用到我的nuxt配置中(没有环境变量)时,它可以正常工作 我正在使用@nuxtjs/firebase模块,这是我的配置: 我已经在我的应用程序中的.env文件中存储了我的所有信用卡(带有引号) 有没有办法将我的cred与numxt配置文件分开(我正在github上提交numxt配置文件) 备注:我的环境变量可以使用p

我正在尝试从我的Nuxt配置文件中分离Firebase Creds。但是它说的是
NuxtServerError您的API密钥无效,请检查您是否正确复制了它。
当我将我的creds直接使用到我的nuxt配置中(没有环境变量)时,它可以正常工作

我正在使用@nuxtjs/firebase模块,这是我的配置:

我已经在我的应用程序中的
.env
文件中存储了我的所有信用卡(带有引号)

有没有办法将我的cred与numxt配置文件分开(我正在github上提交numxt配置文件)


备注:我的环境变量可以使用
process.env.apikey
和其他工具从我的应用程序组件控制台记录。我还安装了@nuxtjs/dotenv包。

这是一个
@nuxtjs/dotenv
问题(我想)

关于文档,对于这种情况,您应该直接使用
dotenv
模块,而不是
@nuxtjs/dotenv

numxt.config.ts
sample

import dotenv from 'dotenv'

let path =
  process.env.NODE_ENV === 'production'
   ? '.env'
   : '.env.' + process.env.NODE_ENV

dotenv.config({path})

export default {
 ....
 // Now, you are able to use process.env.<property_from_dotenv>
 env: {
  apiKey: process.env.apiKey,
  authDomain: process.env.authDomain,
  databaseURL: process.env.databaseURL,
  projectId: process.env.projectId,
  storageBucket: process.env.storageBucket,
  messagingSenderId: process.env.messagingSenderId,
  appId: process.env.appId,
  measurementId: process.env.measurementId
 },
}
const dotenv = require('dotenv');

let path =
  process.env.NODE_ENV === 'production'
   ? '.env'
   : '.env.' + process.env.NODE_ENV

dotenv.config({path})

我也在努力解决这个问题。我使用相同的设置

加:


到nuxt.config.js文件的顶部。这允许配置访问您的本地.env文件

Nuxt有自己的烘焙环境变量处理。阅读文档中的
publicRuntimeConfig:{}
privateRuntimeConfig{}
。您不再需要
dotenv
依赖项。

请检查答案示例代码抱歉,由于某种原因,我用不同的名称重新创建了它。我删除了multi.env配置。在新存储库中使用不同的分支在逻辑上很有用。但是,您仍然可以在中找到可扩展的基础架构
import dotenv from 'dotenv'

let path =
  process.env.NODE_ENV === 'production'
   ? '.env'
   : '.env.' + process.env.NODE_ENV

dotenv.config({path})

export default {
 ....
 // Now, you are able to use process.env.<property_from_dotenv>
 env: {
  apiKey: process.env.apiKey,
  authDomain: process.env.authDomain,
  databaseURL: process.env.databaseURL,
  projectId: process.env.projectId,
  storageBucket: process.env.storageBucket,
  messagingSenderId: process.env.messagingSenderId,
  appId: process.env.appId,
  measurementId: process.env.measurementId
 },
}
const dotenv = require('dotenv');

let path =
  process.env.NODE_ENV === 'production'
   ? '.env'
   : '.env.' + process.env.NODE_ENV

dotenv.config({path})
require('dotenv').config()