vue-cli 根据不同的环境变量打包

官方文档 https://cli.vuejs.org/zh/guide/mode-and-env.html

 

个人实践

 

1. 首先在项目根目录创建不同环境的 .env文件

 

 

2. 在.env.xxx 文件中添加内容

NODE_ENV = production

VUE_APP_API_BASE_URL =/
VUE_APP_TITLE = 'xxx管理系统'
VUE_APP_LOGO = '/fjcz_logo.png'
VUE_APP_LOGIN_LOGO = '/fjcz_login_logo.png'
VUE_APP_DEFAULT_PASSWORD = 'aaa#123456'
VUE_APP_SCHOOL = 'SZXY'

 

3.修改package.json中的脚本

 

复制代码
  "scripts": {
    "dev": "vue-cli-service serve",
    "serve": "vue-cli-service serve",
    "build-ayd": "vue-cli-service build",
    "build-szxy": "vue-cli-service build --mode szxy",
    "build-thd": "vue-cli-service build --mode thd",
    "build-sq": "vue-cli-service build --mode sq",
    "build-fjcz": "vue-cli-service build --mode fjcz"
  },
复制代码

4. 根据 process.env 中的数据做对应的功能

 

复制代码
 data () {
    return {
      school: process.env.VUE_APP_SCHOOL
    }
  },
  computed: {
    editVisible () {
      return this.$store.state.leader.editVisible
    },
    formOptions () {
      switch (this.school) {
        case 'AYD':
          return [1,2,3]
        case 'SZXY':
          return [4,5,6]
        default:
          return [7,8,9]
      }
    }
  },
 
复制代码

 

注意事项 : 只有以 VUE_APP_ 开头的变量会被 webpack.DefinePlugin 静态嵌入到客户端侧的包中。

posted @   祁腾飞  阅读(350)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示