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 })

                                                                 

  • 相关阅读:
    HDOJ 1846 Brave Game
    并查集模板
    HDU 2102 A计划
    POJ 1426 Find The Multiple
    POJ 3278 Catch That Cow
    POJ 1321 棋盘问题
    CF 999 C.Alphabetic Removals
    CF 999 B. Reversing Encryption
    string的基础用法
    51nod 1267 4个数和为0
  • 原文地址:https://www.cnblogs.com/daidechong/p/11699446.html
Copyright © 2011-2022 走看看