zoukankan      html  css  js  c++  java
  • Vue 多环境配置方法

    开发应用时环境有开发环境、测试环境、生产环境等,此时我们需要配置不同的环境,获取不同的apiUrl前缀,避免了频繁手动更改api.

    1.安装cross-env插件

    cross-env是跨平台设置和使用环境变量的脚本。
    在大多数Windows命令行中在使用NODE_ENV = production设置环境变量时会报错。同样,Windows和Linux命令如何设置环境变量也有所不同。 使用cross-env可以设置在不同的平台上有相同的NODE_ENV参数。

    npm install cross-env --save-dev

    2.修改package.json的scripts

    通过cross-env跨平台地设置环境变量(可以根据自己需求多定义几个环境)

    1   "scripts": {
    2     "dev": "cross-env NODE_PACK=development webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
    3     "start": "npm run dev",
    4     "build": "cross-env NODE_PACK=production node build/build.js"
    5   },

    3.config文件下新建api.js文件

    通过process.env.NODE_PACK获取到自定义的环境变量,获取对应环境的API

     1 // 根据环境设置 BASE_API
     2 let apiUrl = '';
     3 switch(process.env.NODE_PACK) {
     4   case 'production':
     5     apiUrl = '"https://it.qqq.cn"';
     6     break;
     7   .......
     8   default:
     9     apiUrl = '"http://127.0.0.1:8000"';
    10     break;
    11 }
    12 module.exports = apiUrl;

    4.更改config下的dev.env.js和prod.env.js

    dev.env.js

    1 'use strict'
    2 const merge = require('webpack-merge')
    3 const prodEnv = require('./prod.env')
    4 const apiUrl = require('./api')
    5 
    6 module.exports = merge(prodEnv, {
    7   NODE_ENV: '"development"',
    8   BASE_API : apiUrl
    9 })

    prod.env.js

    1 'use strict'
    2 const apiUrl = require('./api')
    3 
    4 module.exports = {
    5   NODE_ENV: '"production"',
    6   BASE_API : apiUrl
    7 }

    5.utils下的request.js

    添加baseURL: process.env.BASE_API后src/api/api.js的接口只用后缀就行,会自动和baseURL拼接,/也可省略
    1 // 创建axios实例
    2 const service = axios.create({
    3   baseURL: process.env.BASE_API, // api 的 base_url
    4   timeout: 5000, // 请求超时时间
    5 })

                                                                 

  • 相关阅读:
    白话机器学习的数学笔记系列1算法回归_一元回归+多项式回归
    使用verdaccio搭建npm私有库 pm2守护进程 nrm管理npm源
    Nginx笔记
    FileSystemResource 和 ClassPathResource 以及 ServletContextResource 获取资源用法
    ClickHouse 使用
    springboot整合nacos项目配置文件
    SpringBoot基础篇Bean之条件注入@ConditionalOnExpression
    java web项目服务端返回json结果时过滤字段为null的属性
    Navicat导出Excel格式表结构
    sql积累
  • 原文地址:https://www.cnblogs.com/daidechong/p/11699446.html
Copyright © 2011-2022 走看看