位置: IT常识 - 正文

Vue中process.env关键字,process.env.VUE_APP_BASE_API(vue process.env.node_env)

编辑:rootadmin
Vue中process.env关键字,process.env.VUE_APP_BASE_API 1.process.env 是Node.js 中的一个环境

推荐整理分享Vue中process.env关键字,process.env.VUE_APP_BASE_API(vue process.env.node_env),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue provider inject,process.env.vue_app_base_api,vue项目中process.env,vuerouter关闭当前页面,vue process.env.node_env,process.env.vue_app_base_api,vue process is not defined,vue process.env.node_env,内容如对您有帮助,希望把文章链接给更多的朋友!

打开命令行查看环境:

2.process.env与Vue CLI 项目

Vue Cli 有以下三种运行模式

development 模式用于 vue-cli-service serve

test 模式用于 vue-cli-service test:unit

production 模式用于 vue-cli-service build 和 vue-cli-service test:e2e

我们查看package.json配置信息,运行Vue CLI命令:

开发环境运行npm run dev,

要部署服务器发布生产环境时运行npm run build,

他们正好对应Vue CLI中的development模式和production模式,就会把该模式下的NODE_ENV载入其中了。

既然知道项目运行的是那个模式,是不是我们就可以在不同模式下运行不同的变量信息,如开发环境使用端口8080,线上(生产)环境的端口是80,这个时候你会想,我知道不同模式配置不同信息,那信息配置在那个文件呢?

1)可以在你的项目根目录中放置下列文件来指定环境变量:.env # 在所有的环境中被载入.env.local # 在所有的环境中被载入,但会被 git 忽略.env.[mode] # 只在指定的模式中被载入.env.[mode].local # 只在指定的模式中被载入,但会被 git 忽略

会有先后顺序

一个环境文件只包含环境变量的“键=值”对:

#设置端口号port=9999# 开发环境配置ENV = 'development'

只有 NODE_ENV,BASE_URL 和以 VUE_APP_ 开头的变量将通过 webpack.DefinePlugin 静态地嵌入到客户端侧的代码中

2).env 文件配置

.env:全局默认配置文件,无论什么环境都会加载合并。.env.development:开发环境的配置文件.env.production:生产环境的配置文件

注意文件名是固定的,不要自定义。

属性名必须以 VUE_APP_ 开头,如:VUE_APP_XXX

vue 会根据启动命令自动加载相对应的环境配置文件。vue是根据文件名进行加载的,所以不要擅自更改。

比如执行npm run serve命令,会自动加载.env.development文件

开发环境加载 .env 和 .env.development 。

生成环境加载 .env 和 .env.production 。

运行npm run serve的时候主要还是看package.json中 server属性的--mode后面跟的是啥。如果是development,就会加载.env.development文件。

vue-cli-service 默认会读取 env.development文件 ;

vue-cli-service - -mode dev 指定读取env.dev文件;

在package.json里面配置好,执行serve的时候用开发环境的。build打包用生产或者测试的

package.json 配置项:

"scripts": {"serve": "vue-cli-service serve --mode development","build": "vue-cli-service build","build:sit": "vue-cli-service build --mode production.sit","build:uat": "vue-cli-service build --mode production.uat","build:prod": "vue-cli-service build --mode production","lint": "vue-cli-service lint","et": "node_modules/.bin/et","et:init": "node_modules/.bin/et -i","et:list": "gulp themes"}Vue中process.env关键字,process.env.VUE_APP_BASE_API(vue process.env.node_env)

环境配置文件 > 全局配置文件

当全局的配置文件和环境的配置文件有相同配置项时,环境的配置项会覆盖全局的配置项。

也就是全局的配置文件.env 文件会覆盖 .env.development这些。

在配置文件中定义的属性在其它文件中如何访问:

可以使用process.env.xxx 来访问属性

3.process.env 用来做什么

由于我们的项目需要在不同环境下进行运行(开发,生产,测试等),这避免我们需要多次的去切换请求的地址以及相关的配置,vue-cli2是可以直接在config文件中进行配置的,但是vue-cli4和vue-cli3已经简化了,没有config文件怎么办?

1)建立.env系列文件

首先我们在根目录新建3个文件,分别为.env.development,.env.production,.env.test

(注意文件是只有后缀的)。

.env.development 模式用于serve,开发环境,就是开始环境的时候会引用这个文件里面的配置.env.production模式用于build,线上环境。.env.test 测试环境

4.development模式运行

在项目根目录创建.env.development

.env.development文件内容

# 开发环境配置ENV = 'development'#设置端口号port=8081# 前端请求路径VUE_APP_BASE_API = '/api'#后端服务器地址不要忘记添加http或httpsBASE_URL_REAR='http://127.0.0.1:8080/'

vue.config.js配置如下

process.env当前运行的配置环境,用于读取对应配置文件的参数

//提示:process.env 是Node.js 中的一个环境,Vue CLI 项目中一个重要的概念//:有以下三种运行模式// development 模式用于 vue-cli-service serve// test 模式用于 vue-cli-service test:unit// production 模式用于 vue-cli-service build 和 vue-cli-service test:e2e//当配置中有,配置port端口则使用配置的端口反之使用80端口const port = process.env.port || 80 // 端口// vue.config.js 配置说明//官方vue.config.js 参考文档https://cli.vuejs.org/zh/config/#css-loaderoptions// 这里只列一部分,具体配置参考文档module.exports = { //build后的输出目录 outputDir: 'dist', publicPath: process.env.NODE_ENV === 'production' ? '/' : '/', lintOnSave: false, configureWebpack: { // devtool 添加这个debugger可以看源码 devtool: 'cheap-module-source-map' }, // webpack-dev-server 相关配置 devServer: { //本机地址 host: 'localhost', //获取port端口 port: port, open: true, //如果你的前端应用和后端 API 服务器没有运行在同一个主机上,你需要在开发环境下将 API 请求代理到 API 服务器 proxy: { // detail:https://cli.vuejs.org/config/#devserver-proxy //process.env.VUE_APP_BASE_API的参数会读取对应环境变量数据,如读取的数据是‘/api’,那么意思就是前端请求的/api路径都会被带来到,参数target的地址 [process.env.VUE_APP_BASE_API]: { //代理的路径 target: process.env.BASE_URL_REAR, changeOrigin: true, pathRewrite: { ['^' + process.env.VUE_APP_BASE_API]: '' } } }, disableHostCheck: true },};

以上配置主要是为了,前端应用和后端 API 服务器没有运行在同一个主机上需要做代理为例。

运行 npm run dev 使用到的配置文件为.env.development

配置文件的端口,请求路径,后端服务器地址配置等

网页可以看出端口

可能请求接口也拼接了配置路径中的VUE_APP_BASE_API变量数据

5.定义自己配置环境

因为我们知道了配置环境的定义,那么只要我们遵循规则定义也可以配置自己的环境数据

.env # 在所有的环境中被载入.env.local # 在所有的环境中被载入,但会被 git 忽略.env.[mode] # 只在指定的模式中被载入.env.[mode].local # 只在指定的模式中被载入,但会被 git 忽略

我们在根路径添加配置.env.itmei配置如下

# 自己定义的开发环境配置ENV = 'itmei'#设置端口号port=8088# 前端请求路径VUE_APP_BASE_API = '/itmei-api'#后端服务器地址BASE_URL_REAR='http://127.0.0.1:8080/'

添加完成后只需要在运行命令添加--mode 配置文件.env.后面自己定义的名称

如我自己配置的.env.itmei配置名称的itmei,为了方便我们在package.json中配置运行脚本

配置了上面的就可以使用npm命令运行

当然也可以直接使用Vue Cli命令运行vue-cli-service serve --mode itmei

首先会去找配置文件.env.itmei、.env.itmei.local 和 .env文件然后构建出生产环境应用

如果此时运行VueCli命令mode 的环境名称不存在,首先会去找.env.itmei00或.env.itmei00.local 或.env如找到就能正常运行找不到就报错,由于我定义了.env所以后面就使用.env的配置信息

当我把.env删除,找不到会报

building 2/2 modules 0 active ERROR TypeError: Cannot read property 'upgrade' of undefinedTypeError: Cannot read property 'upgrade' of undefined

参考自:https://blog.csdn.net/qq_45502336/article/details/125693697

https://www.cnblogs.com/ddqyc/p/15428194.html

本文链接地址:https://www.jiuchutong.com/zhishi/295377.html 转载请保留说明!

上一篇:前端技术搭建井字游戏(内含源码)(前端cli搭建)

下一篇:城市公交查询系统的设计与实现(Java+Web+MySQL+J2EE)(城市公交网)

  • 荣耀root权限怎么开启(荣耀的root权限)

    荣耀root权限怎么开启(荣耀的root权限)

  • excel表格页码设置在哪里(excel表格页码设置第一页为1)

    excel表格页码设置在哪里(excel表格页码设置第一页为1)

  • 微信如何看自动续费服务(微信如何看自动续费的服务)

    微信如何看自动续费服务(微信如何看自动续费的服务)

  • iphone数据漫游是什么意思(苹果的数据漫游是什么意思?)

    iphone数据漫游是什么意思(苹果的数据漫游是什么意思?)

  • iphone充满电不拔会损耗电池吗(iphone充满电不拔会怎么样)

    iphone充满电不拔会损耗电池吗(iphone充满电不拔会怎么样)

  • cpu中的控制器的功能是什么(cpu中控制器的作用)

    cpu中的控制器的功能是什么(cpu中控制器的作用)

  • 函数信号发生器有什么作用(函数信号发生器的使用禁忌)

    函数信号发生器有什么作用(函数信号发生器的使用禁忌)

  • soul如何设置隐身(soul如何设置隐藏注册天数)

    soul如何设置隐身(soul如何设置隐藏注册天数)

  • 华为手机微信闪退是什么原因(华为手机微信闪退怎么解决)

    华为手机微信闪退是什么原因(华为手机微信闪退怎么解决)

  • 什么语言是独立于机器的程序设计语言(独立的语言)

    什么语言是独立于机器的程序设计语言(独立的语言)

  • 7pios11正式版卡不卡(ip11和ip7卡槽)

    7pios11正式版卡不卡(ip11和ip7卡槽)

  • 百度贴吧可以改用户名吗(百度贴吧可以改密码吗)

    百度贴吧可以改用户名吗(百度贴吧可以改密码吗)

  • iphone电池健康掉的快(iPhone电池健康掉到80以下)

    iphone电池健康掉的快(iPhone电池健康掉到80以下)

  • 什么叫双模5g(什么叫双模5g全网通)

    什么叫双模5g(什么叫双模5g全网通)

  • 手机酷狗音乐里面的歌曲怎样输入到存储卡(手机酷狗音乐里面的麦克风怎么唱不了)

    手机酷狗音乐里面的歌曲怎样输入到存储卡(手机酷狗音乐里面的麦克风怎么唱不了)

  • 小米ai音箱可以远程吗(小米ai音箱可以当电脑音响吗)

    小米ai音箱可以远程吗(小米ai音箱可以当电脑音响吗)

  • 华为手机锁屏时间怎么移动(华为手机锁屏时间怎么设置)

    华为手机锁屏时间怎么移动(华为手机锁屏时间怎么设置)

  • 美图秀秀怎么p牙齿(美图秀秀怎么p衣服颜色)

    美图秀秀怎么p牙齿(美图秀秀怎么p衣服颜色)

  • mate20上市时间(mate20上市时间和价格)

    mate20上市时间(mate20上市时间和价格)

  • 小米自带浏览器下载的视频在哪(小米自带浏览器怎么删掉)

    小米自带浏览器下载的视频在哪(小米自带浏览器怎么删掉)

  • 苹果手机闪付怎么使用(苹果手机闪付怎么付款)

    苹果手机闪付怎么使用(苹果手机闪付怎么付款)

  • 微信还原应用还能找回聊天记录吗(如果微信还原应用会怎么样)

    微信还原应用还能找回聊天记录吗(如果微信还原应用会怎么样)

  • rvlal09是什么手机(rvl-alo9)

    rvlal09是什么手机(rvl-alo9)

  • p30录音功能在哪里(华为手机p30手机录音在哪里播放)

    p30录音功能在哪里(华为手机p30手机录音在哪里播放)

  • 哔哩哔哩如何删除投稿(哔哩哔哩如何删除自己的视频)

    哔哩哔哩如何删除投稿(哔哩哔哩如何删除自己的视频)

  • python根据键值(value)返回键(key)(python根据键输出值)

    python根据键值(value)返回键(key)(python根据键输出值)

  • 房产税城镇土地使用税申报期限
  • 金税工程是什么单位
  • 机票和发票是一样的吗
  • 超过两年记入错误的主营业务成本怎么调账
  • 减值准备为什么影响利润总额
  • 个体户一季度不超过30
  • 物流托运不给发货怎么办
  • 期末结转增值税
  • 冲企业所得税的分录
  • 企业关联方利息支出税前扣除的标准扣除
  • 预收账款确认收入会计分录
  • 暂估入库已结转怎么处理
  • 捐助建学校
  • 查账征收的个体户需要申报个人所得税吗
  • 2018税务金四发展预测会有哪些?
  • 实际结算金额超出出票金额,银行汇票要给收款人么
  • 资产负债率70%说明长期偿债能力
  • 销项税额抵减会取得专用发票吗为什么
  • 分包抵扣计算
  • 其他货币资金包括存出保证金吗
  • 高铁票财务怎么报销
  • 物流公司进项票多了,可以帮人开票吗
  • 视同内销发票重开要带税吗
  • 外贸企业出口退税撤销申报
  • 多给员工交了社保能退回吗
  • 股权投资收入会计处理
  • 登陆对话框不能输入
  • 应收账款的内容包括
  • 银行 环保
  • 资产利润率和资本利润率监管标准
  • 不予抵扣的进项税额是什么意思
  • win服务器安装
  • 企业网银证书费用收费标准
  • 股权转让定金怎么退回
  • php java c#
  • centos从命令行进入图形
  • vue做项目的流程
  • 企业所得税核查报告
  • 汇算清缴管理费用明细有哪些
  • 税控盘增值税发票怎么开
  • 发票章与开票方名称不一致是什么情况
  • Bootstrap table 控制表格高度固定(行高固定)并且不受数据量影响
  • dedecms批量发文章
  • 怎么用java写代码
  • python中排序
  • 企业所得税预缴可以不交吗
  • 网上打印出来的手机买卖协议有效吗
  • 品种法的特点有( )
  • 交易性金融资产的账务处理
  • 外购商品发放给员工 进项税额能不能抵扣
  • 内部往来借方是债权还是债务
  • 房租费待摊分录怎么做
  • 无形资产账面价值和账面余额的区别
  • 单位开具技术维护发票
  • 企业买车购置税可以抵增值税吗
  • 未取得增值税发票措施有哪些
  • 公司销售部门购买产品
  • 预付款项为什么属于资产
  • 医院药品过期放多久
  • 购入固定资产一次性税前扣除
  • 事业单位私车公用如何处罚
  • 股权部分转让如何计算
  • 关于爱在线观看电影完整版
  • win10无法删除文件夹没有权限
  • 电脑系统停用
  • windows画图程序名
  • explorer.exe进程100%
  • ubuntu如何打开
  • win8打不开咋办
  • 给div设置滚动条
  • linux常用的网络命令
  • nodejs co
  • jquery解析json对象
  • 在python程序中变量名不能用
  • 重庆电子税务局app下载
  • 山东省省级政务服务区有哪些
  • 湖南省税务局网站2024公务员招聘
  • 珠宝消费税怎么征收
  • 山东国地税合并6月挂牌
  • 新三步走和旧三步走的异同点
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设