vue配置生产环境.env.production、测试环境.env.development

简介: 该文章介绍了如何在Vue项目中配置和使用不同的环境变量文件(.env、.env.production、.env.development)以适应开发、测试和生产环境,并通过修改`package.json`中的scripts来实现不同环境的打包。

静下来 慢慢看

首先 我们需要搭建一个项目
在这里插入图片描述
依赖包会自动下载好 无需自己 npm i

.env 无论什么环境都会加载
.env.production 生产环境加载
.env.development 测试开发环境加载

我们下面的例子分开来写 只用 .env.production .env.development
在项目根目录新建两个文件 分别为.env.production文件 .env.development文件
在这里插入图片描述
在文件里面我们配置如下
在.env文件

VUE_APP_NAME='vue测试名称'

.env.development文件:

NODE_ENV = development  
VUE_APP_URL = 'developmentURL' //自定义变量  必须要以VUE_APP_开头定义

.env.production 文件:

NODE_ENV = production    
VUE_APP_URL = 'productionURL' //自定义变量  必须要以VUE_APP_开头定义

下面我们就需要配置 package.json

{
   
  "name": "my",
  "version": "0.1.0",
  "private": true,
  "scripts": {
   
    "serve": "vue-cli-service serve",
    //打包测试开发版本  
    //--mode 后面需要对用文件的名字.env.development  重点是要和.env.后面的名字对应起来
    "build-development": "vue-cli-service build --mode development",
    //打包生产版本
    //--mode 后面需要对用文件的名字.env.production 重点是要和.env.后面的名字对应起来
    "build-production": "vue-cli-service build --mode production",
    "lint": "vue-cli-service lint"
  },
  ...//json文件太长 后面的没用复制过来  主要看上面的scripts
}

下面我们在app.vue中打印一下我们设置的这个VUE_APP_URL

  mounted() {
   
    console.log(process.env,'process.env')
    console.log(process.env.VUE_APP_URL, "VUE_APP_URL");
  }

我们在本地运行
npm run serve
会加载.env和.env.development两个文件
我们会看到控制台打印
在这里插入图片描述
可以看到 process.env是一个全局对象 我们可以在对象上加自己需要的属性
在运行npm run serve的时候它会自动编译 测试开发版本 所以能加在.env.development文件的变量
我们尝试打包生产版本

npm run build-production

会在文件根目录生成dist文件夹

我们尝试在本地打开dist 运行vue打包好的文件

我们需要在全局安装 http-server 这个npm包

npm i -g http-server

我们进到 dist文件夹中 打开cmd
执行http-server
在这里插入图片描述

在浏览器打开 看看控制台打印
在这里插入图片描述

确实 就是我们在app.vue下打印的变量,值就是我们在.env和.env.production里面设置的值;
由此 大大的方便了我们的打包流程,不需要每次打包测试URL、生产URL来回切换了~
我们可以将这个VUE_APP_URL封装到axios中 更加方便了我们开发~

目录
相关文章
|
4月前
|
JavaScript
Vue中 .env .env.development .env.production 详细说明
Vue中 .env .env.development .env.production 详细说明
162 0
|
JavaScript
nuxt项目:全局获取process.env信息
nuxt项目:全局获取process.env信息
333 0
|
11月前
|
JavaScript 前端开发 jenkins
【前端】vue项目打包Browserslist: caniuse-lite is outdated. Please run: npx update-browserslist-db@latest解决方案
【前端】vue项目打包Browserslist: caniuse-lite is outdated. Please run: npx update-browserslist-db@latest解决方案
700 0
|
4月前
|
前端开发 测试技术
测Nuxt.js入坑,配置dev、test、pro三种环境的变量env
先下载一个cross-env模块,比较好控制环境
150 5
|
2月前
|
JavaScript Java 关系型数据库
青戈大佬部署SpringBoot+Vue项目资料,vue中配置文件 .env.development,在Vue目录下 Find in Files
青戈大佬部署SpringBoot+Vue项目资料,vue中配置文件 .env.development,在Vue目录下 Find in Files
|
2月前
|
前端开发 JavaScript 程序员
【Vue3+TypeScript】CRM系统项目搭建之 — 区分 development 和 production 环境
【Vue3+TypeScript】CRM系统项目搭建之 — 区分 development 和 production 环境
32 0
|
4月前
|
JavaScript 开发工具 git
Vue 入门系列:.env 环境变量
Vue 入门系列:.env 环境变量
47 1
|
4月前
|
存储 JavaScript 前端开发
.env.development是什么
.env.development是什么
|
4月前
|
JavaScript 测试技术
Vue配置生产环境和测试环境的参数,.env.production、.env.development怎么用?
Vue配置生产环境和测试环境的参数,.env.production、.env.development怎么用?
|
4月前
|
JavaScript 测试技术
vue环境变量配置——process.env(详细)
vue环境变量配置——process.env(详细)
170 0