dotenv配置多环境支持vue、nuxtjs和webpack项目打包闭坑指南

文件名默认.env
当我我们可以取名叫
.env.test
.env.dev
.env.prod
注意文件里面的不要存在引号
DB_HOST=localhost
DB_USER=root

ps1:那么在nuxtjs中怎么让我们的变量支持服务器和客户端呢?
可以在nuxt.config.js再次定义env的变量把值给过去
env: {
COOKIE_DOMAIN: process.env.COOKIE_DOMAIN,
}
ps2:nuxtjs中模块试用方法
// [’@nuxtjs/dotenv’, { filename: .env.${process.env.NODE_ENV} }],
这里可以是path可以是file 可以是是filename
ps3:如果在配置文件需要使用.env的变量
require(‘dotenv’).config这个官方也有说明。不过要注意闭坑
这里的path、debug参数可以自己输入,path需要全路径,不然默认获取.env的文件的变量,并且内容无法覆盖

[dotenv][DEBUG] “COOKIE_DOMAIN” is already defined in process.env and
will not be overwritten [dotenv][DEBUG] “LOGINMODE” is already defined
in process.env and will not be overwritten

所以解决办法:
import path from ‘path’; // 这步一定要,否则会报错
//获取系统的真实目录地址,可以有很多方法
const rootPath = path.resolve(process.cwd(), .env.${process.env.NODE_ENV});
然后根据我们的当前的环境切换不同的配置来获取
require(‘dotenv’).config({ path: rootPath })

插件地址:https://www.npmjs.com/package/dotenv
项目源码地址:https://gitee.com/shuogesha/boot-mongo-admin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千年板蓝根

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值