首页 分享 vue2.x @vue/cli3环境变量(.env)和模式(development,production)

vue2.x @vue/cli3环境变量(.env)和模式(development,production)

来源:花匠小妙招 时间:2024-12-16 14:16

最新推荐文章于 2024-10-22 10:56:20 发布

胖鹅68 于 2020-01-17 10:26:29 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

文章目录 问题描述文章参考vue-cli3 的三种模式development 模式production 模式test 模式总结案例描述package.json 文件.env 文件.env.development 文件main.js 启动文件打印结果 vue-cli3 是如何实现环境变量和模式关联的最大的功臣是 `webpack.DefinePlugin`

问题描述

最近在学习mockjs,想根据本地模拟的数据,直接调用ajax请求,获取相关数据,如果是发布到生产,直接更改一个配置就可以了。

问题:webpack打包是使用的nodejs环境,那么如何通过修改nodejs环境中的配置文件,影响到发布到浏览器的配置文件呢

文章参考

环境变量和模式

vue-cli3 的三种模式

development 模式 vue-cli-service serve 启动默认会去加载 .env ,.env.development, .env.development.local 配置文件只有以 VUE_APP_ 开头的变量会被嵌入到客户端中在vue文件中,使用 process.env 获取配置文件中的信息默认 process.env.NODE_ENV === 'development' production 模式 vue-cli-service build 或者 vue-cli-service test:e2e 启动默认会去加载 .env , .env.production, .env.production.local配置文件只有以 VUE_APP_ 开头的变量会被嵌入到客户端中在vue文件中,使用 process.env 获取配置文件中的信息默认 process.env.NODE_ENV === 'production' test 模式 vue-cli-service test:unit 启动默认会去加载 .env ,.env.test, .env.test.local 配置文件只有以 VUE_APP_ 开头的变量会被嵌入到客户端中在vue文件中,使用 process.env 获取配置文件中的信息 总结 不管什么模式,都会去加载 .env 配置文件模式可以自定义,使用命令 vue-cli-service build --mode staging, staging就是自定义的模式名字配置文件则会加载 .env ,.env.staging, .env.staging.local 配置文件只有以 VUE_APP_ 开头的变量会被嵌入到客户端中 案例描述 package.json 文件

{..."scripts": {"serve": "vue-cli-service serve ","dev": "vue-cli-service serve --mode development","build": "vue-cli-service build","lint": "vue-cli-service lint" },... } 12345678910 vue-cli-service serve 是 vue-cli-service serve --mode development 的简写会将 .env 和 .env.development 和 .env.development.local 文件中的配置添加到 process.env 对象中 .env 文件

VUE_APP_CONTEXT=ctm01pec VUE_APP_ISMOCK =true 12

注意:这里true不是boolean,而是字符串

// 根据Vue的环境变量模式中获取配置信息,异步加载配置文件 if (process.env.VUE_APP_ISMOCK === "true") { import('../mock/mock-data.js').then(_ => { console.log("引入mock数据成功") }) } 123456 .env.development 文件

VUE_APP_NAME=huangbiao VUE_APP_AGE=18 VUE_APP_ADDRESS=222222 VUE_APP_ASSETS=static 1234 main.js 启动文件

import Vue from 'vue' import App from './App.vue' console.log(process.env) // 根据Vue的环境变量模式中获取配置信息,异步加载配置文件 // process.env.VUE_APP_MOCK 获取到的不是boolean,而是字符串 if (process.env.NODE_ENV === 'development' && process.env.VUE_APP_MOCK !== 'false') { import('./data/mockeData').then(_ => { console.log('引入mock数据成功') }) } new Vue({ render: h => h(App), }).$mount('#app')

12345678910111213141516 打印结果

BASE_URL: “”
NODE_ENV: “development”
VUE_APP_ADDRESS: “222222”
VUE_APP_AGE: “18”
VUE_APP_ASSETS: “static”
VUE_APP_CONTEXT: “ctm01pec”
VUE_APP_ISMOCK: “huangbiao”
VUE_APP_NAME: “huangbiao”
username: “huanghaili”

vue-cli3 是如何实现环境变量和模式关联的

VUE_APP_ 开头的变量会被 webpack.DefinePlugin 静态嵌入到客户端侧的包中

最大的功臣是 webpack.DefinePlugin

请参考 webpack.DefinePlugin插件学习

相关知识

手摸手,带你用vue撸后台 系列一(基础篇)
手摸手,带你用vue撸后台 系列一(基础篇)说好的教程终于来了,第一篇文章主要来说一说在开始写实际业务代码之前的一些准备
高性能网站搭建
Production of lactate from carbon fixation by cyanobacteria: development and prospect
关于资源节约与环境友好quot;两型quot;园艺产业生产体系的探讨.pdf
学会对VUE的SEO优化,你的网站总是排在前面
Cyanobacteria based photosynthetic production of sucrose: development and prospect
vue项目经验:移动端、pc端适配方案(px转rem)
配置 Windows 环境变量的方法
基于深度学习的常见作物病虫害识别系统源码+教程+论文.zip

网址: vue2.x @vue/cli3环境变量(.env)和模式(development,production) https://www.huajiangbk.com/newsview1125724.html

所属分类:花卉
上一篇: 如何在maven环境中设置JVM
下一篇: idea中vm options设

推荐分享