zoukankan      html  css  js  c++  java
  • vue cli3 环境变量 模式

    vue cli3中使用环境变量和模式

    理解模式

    模式是 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

    也就是说在不做任何设置的情况下:
    a、本地运行项目 npm run dev 使用的是development模式,process.env.NODE_ENV="development"
    b、打包项目 npm run build 使用的是production模式,process.env.NODE_ENV="production"

    如果有其他需求,需自行配置环境变量,则使用以下2步创建并使用
    比如:在生产环境中需要使用两个不同的接口地址,并且使用不同的打包名称等

    1、创建

    • 必须在项目根目录中创建,文件格式如下:
    .env 
    .env.local
    .env.*
    .env.*.local
    

    注:
    a、代表模式名,英文小写
    b、.local后缀的文件会载入相应模式,但会被git忽略
    c、.env 文件在所有的环境中被载入 .env.[模式名] 在指定的模式中被载入
    d、环境优先级:.env.
    > .env

    • 一个环境文件只包含环境变量的“键=值”对
      如:
    # 环境
    NODE_ENV = 'production'
    # 模块名
    VUE_APP_NAME = 'release'
    # 打包文件名
    VUE_APP_DIR_NAME = 'test'
    

    注:
    a、NODE_ENV 变量可以覆盖默认值
    b、其他变量名VUE_APP_ 前缀开头(例如上述模块名或者打包文件名)

    2、使用

    (1) 构建命令中使用,package.json文件
    通过传递 --mode 选项参数为命令行覆写默认的模式

    "scripts": {
      "dev": "vue-cli-service serve",
      "build": "vue-cli-service build --mode build",
      "release": "vue-cli-service build --mode release"
    },
    

    注:
    –mode XXX名字一定要跟 .env.xxx名字对应起来

    (2) 在代码中使用

    let baseUrl=""
    if(process.env.NODE_ENV === "production"){ //生产环境
      if (process.env.VUE_APP_NAME === 'release') {
        baseUrl = "正式地址1";
      }else if(process.env.VUE_APP_NAME === 'build'){
        baseUrl = "正式地址2";
      }
    }else{ //开发环境
      baseUrl="开发地址"
    }
    export { baseUrl }
    

    在vue.config.js中配置

    // 输出文件目录
    outputDir:process.env.VUE_APP_DIR_NAME,
    
  • 相关阅读:
    Python logging根据时间创建日志文件
    ORACLE Merge into 使用
    go安装goctl
    Oracle 行转列
    ORACLE with as查询优化
    Linux环境使用Docker安装MongoDb
    Linux环境使用Docker安装MySql
    Docker基础操作
    Linux基础命令
    Ansible自动化运维介绍
  • 原文地址:https://www.cnblogs.com/sgs123/p/13883663.html
Copyright © 2011-2022 走看看