zoukankan      html  css  js  c++  java
  • vue 2.0 脚手架项目中使用 cross-env 分环境打包

    需求背景:

      一般开发时,测试环境 与 正式环境 调用的接口域名是不同的,所以发布包时,需要配置环境变量来控制接口调用的域名

    一般实现方式:

      设置变量,通过判断语句,进入不同接口域名

    //常规的做法
    let mode="dev"; //可以设置:dev、test、prod
    let baseUrl="";
    
    if(mode=="dev"){
      baseUrl=="http://api.xmdev.com";
    }else if(mode=="test"){
      baseUrl=="http://api.xmtest.com";
    }else {
      baseUrl=="http://api.xmprod.com";
    }
    
    export {
      baseUrl
    }

    这样虽然能够实现需求,但是比较繁琐,每次需要更改 mode 值, 这个要介绍一个第三方库实现需求: cross-env

    cross-env官方的介绍是:

      跨平台环境脚本的设置,你可以通过一个简单的命令(设置环境变量)而不用担心设置或者使用环境变量的平台。

    使用步骤:

    1.安装依赖

    npm install --save-dev cross-env

    2.添加 dev.env.js 与 prod.env.js 文件

    module.exports = {
      NODE_ENV: '"development"'
    }

    module.exports = {
      NODE_ENV: '"production"'
    }

    3.修改build目录下webpack.prod.conf.js文件

    var env = config.build.env

    4.配置config 下 index.js文件

    env: require(`./${process.env.env_config === 'production'?'prod':'dev'}.env`),

    5.在 api 接口中,根据变量获取不同域名

     

    6.修改package.json文件中打包命令

        "build": "cross-env env_config=production node build/build.js",
        "build:dev": "cross-env env_config=developemnt node build/build.js",
        "build:prod": "cross-env env_config=production node build/build.js",

     至此就可以通过 npm run build:dev 和 npm run build:prod 来实现调用不同接口域名了

    分享一刻:

    计算机系统的设计原则

  • 相关阅读:
    redis 基本操作-python 使用redis-手机验证接口-发送短信接口
    登录-注册页面修订
    10-29 课堂笔记
    git 协作开发
    git 常规使用
    luffy-city 基础环境搭建(至轮播图前后台交互实现)-步骤目录
    偏移分页-游标(加密)分页-自定义过滤器-第三方过滤器插件(django-filter)
    drf 大总结
    739. Daily Temperatures
    617. Merge Two Binary Trees
  • 原文地址:https://www.cnblogs.com/huangaiya/p/13180706.html
Copyright © 2011-2022 走看看