vuecli4下环境变量和模式示例详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
vuecli4下环境变量和模式⽰例详解
本⽂介绍了vue cli4下环境变量和模式⽰例详解,分享给⼤家,具体如下:
环境变量
⼀个环境变量⽂件只包含环境变量的键值对:
NODE_ENV=development
VUE_APP_BASE_URL=http://127.0.0.1:8080/
注意:
NODE_ENV - 是 “development”、“production” 、"test"或者⾃定义的值。
具体的值取决于应⽤运⾏的模式BASE_URL - 会和 vue.config.js 中的 publicPath 选项相符,即你的应⽤会部署到的基础路径
除了 NODE_ENV 和 BASE_URL,其他的环境变量必须以 VUE_APP_ 开头
项⽬中使⽤:process.env.环境变量名,eg:VUE_APP_BASE_URL
模式
模式是 Vue CLI 项⽬中⼀个重要的概念。
默认情况下,⼀个 Vue CLI 项⽬有三个模式:
development 模式⽤于 vue-cli-service serve
production 模式⽤于 vue-cli-service build 和 vue-cli-service test:e2e
test 模式⽤于 vue-cli-service test:unit
注意点:
⼀个模式可以包含多个环境变量
每个模式都会将环境变量中 NODE_ENV 的值设置为模式的名称
可以通过为 .env ⽂件增加后缀来设置某个模式下特有的环境变量
为⼀个特定模式准备的环境⽂件 (例如 .env.production) 将会⽐⼀般的环境⽂件 (例如 .env) 拥有更⾼的优先级此外,Vue CLI 启动时已经存在的环境变量拥有最⾼优先级,并不会被 .env ⽂件覆写
.env # 在所有的环境中被载⼊
.env.local # 在所有的环境中被载⼊,但会被 git 忽略
.env.[mode] # 只在指定的模式中被载⼊,优先级⾼于.env和.env.local
.env.[mode].local # 只在指定的模式中被载⼊,但会被 git 忽略,优先级⾼于.env和.env.local
例⼦:不同模式下,为axios指定不同的baseUrl
创建development模式的环境变量⽂件,项⽬根⽬录下新建.env.development⽂件
NODE_ENV=development
VUE_APP_BASE_URL=http://127.0.0.1:8080/
创建production模式的环境变量⽂件,项⽬根⽬录下新建.env.production⽂件
NODE_ENV=production
VUE_APP_BASE_URL=/
在src⽬录下main.js⽂件中使⽤环境变量
import Vue from 'vue'
import App from './App.vue'
// 导⼊axios
import axios from 'axios'
// 设置请求根路径,使⽤环境变量
axios.defaults.baseURL = process.env.VUE_APP_BASE_URL
// axios拦截器
e(config => {
// 为请求头对象,添加Token验证的Authorization字段
config.headers.Authorization = window.sessionStorage.getItem('token')
// 在最后必须return config
return config
})
// 挂载到vue
Vue.prototype.$http = axios
Vue.config.productionTip = false
new Vue({
router,
render: h => h(App)
}).$mount('#app')
也可以在其他vue组件中打印
console.log(process.env.NODE_ENV)
console.log(process.env.VUE_APP_BASE_URL)
console.log(this.$http.defaults.baseURL)
运⾏项⽬
npm run serve
例⼦:⾃定义模式
⾃定义⼀个fat模式
在项⽬根⽬录下新建环境变量⽂件.env.fat
NODE_ENV=fat
VUE_APP_BASE_URL=/
根⽬录下package.json中新增脚本命令
{
"name": "vue_shop",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
// 这条命令是我⾃定义的,通过--mode指定模式为fat
"fat": "vue-cli-service serve --mode fat",
"lint": "vue-cli-service lint"
},
"dependencies": {
"axios": "^0.19.2",
"core-js": "^3.4.4",
"echarts": "^4.6.0",
"element-ui": "^2.4.5",
"vue": "^2.6.10",
"vue-router": "^3.1.3"
},
"devDependencies": {
"@vue/cli-plugin-babel": "^4.1.0",
"@vue/cli-plugin-eslint": "^4.1.0",
"@vue/cli-plugin-router": "^4.1.0",
"@vue/cli-service": "^4.1.0",
"@vue/eslint-config-standard": "^4.0.0",
"babel-eslint": "^10.0.3",
"babel-plugin-component": "^1.1.1",
"eslint": "^5.16.0",
"eslint-plugin-vue": "^5.0.0",
"less": "^3.10.3",
"less-loader": "^5.0.0",
"vue-cli-plugin-element": "^1.0.1",
"vue-template-compiler": "^2.6.10"
}
}
运⾏命令
npm run fat
这时候项⽬中读取的,就是fat模式下的环境变量了
到此这篇关于vue cli4下环境变量和模式⽰例详解的⽂章就介绍到这了,更多相关vue cli4环境变量和模式内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。