Javascript 如何在Nuxt配置中使用Firebase环境变量
我正在尝试从我的Nuxt配置文件中分离Firebase Creds。但是它说的是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
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()