最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于vue cli 通過命令行傳參實現多環(huán)境配置

 更新時間:2018年07月12日 08:40:07   作者:obliviousSing  
這篇文章主要介紹了vue項目通過命令行傳參實現多環(huán)境配置(基于@vue/cli)的相關資料,需要的朋友可以參考下

大多數項目都有生產環(huán)境和開發(fā)環(huán)境,一般情況下應該夠了,但是有時候還需要sit,uat,本地等環(huán)境,這時候假如要通過注釋的方式切換環(huán)境就相當麻煩了. 如果可以像下面這樣切換環(huán)境就方便了

npm run serve //默認本地開發(fā)環(huán)境

npm run serve -sit //本地開發(fā)中使用sit環(huán)境

npm run serve -uat //本地開發(fā)中使用uat環(huán)境

npm run build //默認打包后使用生產環(huán)境

npm run build -local //打包后使用本地環(huán)境

npm run build -sit //打包后使用sit環(huán)境

`npm run build -uat //打包后使用uat環(huán)境

如果對@vue/cli還不熟的話,建議看看這篇文章http://m.fzitv.net/article/138055.htm

我們首先在根目錄下面創(chuàng)建一個vue.config.js文件,如圖

 

vue.config.js代碼如下:

const webpack = require('webpack')
const environment = require('./build/environment')
module.exports = {
 baseUrl: '/wxperp/',
 configureWebpack: {
 plugins: [
 new webpack.DefinePlugin({
 'process.env.STAGE': JSON.stringify(environment.stage),
 'process.env.LOCAL_URL': JSON.stringify(environment.localUrl)
 })
 ]
 }
}

new webpack.DefinePlugin的作用是允許你創(chuàng)建一個在編譯時可以配置的全局常量

然后在根目錄創(chuàng)建一個build文件夾,里面創(chuàng)建一個environment.js的文件

 

environment.js代碼如下:

const os = require('os')
// 獲取命令行變量
const configArgv = JSON.parse(process.env.npm_config_argv)
const original = configArgv.original.slice(1)
const stage = original[1] ? original[1].replace(/-/g, '') : ''
// 本地ip地址
let localUrl
try {
 const network = os.networkInterfaces()
 localUrl = network[Object.keys(network)[0]][1].address
} catch (e) {
 localUrl = 'localhost'
}
localUrl = 'http://' + localUrl + '/'

module.exports = {
 stage, localUrl
}

這個stage就是你輸入的變量,比如你輸入 npm run serve -sit 那么stage的值就為sit

這個localUrl就是你本地的ip,不過很多人應該用不到,我們公司比較特殊,開發(fā)的時候,接口請求的地址都是請求的自己本地服務器, 如果不自動獲取本地ip,那么每個同事都得在配置文件中保留一份自己得ip地址,很麻煩,所以就自動獲取了.

接下來再src目錄下面創(chuàng)建一個config.js,記得在main.js中引用這個config.js

 

environment.js代碼如下:

(() => {
 const urlMap = {
 local: process.env.LOCAL_URL + 'api',
 sit: 'http://xxx.xxx.xxx:xxxx/sit/api',
 uat: 'http://xxx.xxx.xxx:xxxx/uat/api',
 prod: 'http://xxx.xxx.xxx:xxxx/prod/api'
 }
 //sit,uat,prod
 let stage = process.env.STAGE
 //development,production
 const nodeEnv = process.env.NODE_ENV
 //nodeEnv為production并且stage不存在默認為生產環(huán)境
 if (nodeEnv === 'production' && !stage) {
 stage = 'prod'
 } else {
 //stage不存在默認為本地開發(fā)環(huán)境
 stage = stage || 'local'
 }
 console.log('ip:' + urlMap[stage])
})()

我們輸入 npm run serve -sit ,頁面打印如下:

 

再啰嗦下,process.env.NODE_ENV是@vue/cli提供的,貌似有三個值(development,production,test),

你運行 npm run serve 得到的就是development

你運行 npm run build 得到的就是production

你運行 npm run test 得到的就是test (我沒試過)

我默認打包是打包生產環(huán)境,當然你也可以輸入參數打包其他環(huán)境

總結

以上所述是小編給大家介紹的基于vue cli 通過命令行傳參實現多環(huán)境配置,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

相關文章

  • el-table?動態(tài)合并不定項多級表頭的方法

    el-table?動態(tài)合并不定項多級表頭的方法

    本文主要介紹了el-table?動態(tài)合并不定項多級表頭的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • Vue3的效率提升主要表現在哪些方面示例解析

    Vue3的效率提升主要表現在哪些方面示例解析

    Vue3帶來了許多性能優(yōu)化和效率提升的特性,本文將重點討論Vue3在靜態(tài)提升、預字符串化、緩存事件處理函數、Block?Tree和PatchFlag方面的改進,我們將通過對比Vue2和Vue3的編譯結果來說明這些方面的效率提升
    2023-12-12
  • Vue transx組件切換動畫庫示例詳解

    Vue transx組件切換動畫庫示例詳解

    這篇文章主要為大家介紹了Vue transx組件切換動畫庫示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • Vue實現按鈕旋轉和移動位置的實例代碼

    Vue實現按鈕旋轉和移動位置的實例代碼

    這篇文章主要介紹了Vue實現按鈕旋轉和移動位置的實例代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-08-08
  • 詳解vue2如何處理xml格式的數據

    詳解vue2如何處理xml格式的數據

    這篇文章主要為大家詳細介紹了在vue2中如何處理xml格式的數據,文中的示例代碼講解詳細,具有一定的借鑒價值,有需要的小伙伴可以參考一下
    2024-03-03
  • Nuxt 嵌套路由nuxt-child組件用法(父子頁面組件的傳值)

    Nuxt 嵌套路由nuxt-child組件用法(父子頁面組件的傳值)

    這篇文章主要介紹了Nuxt 嵌套路由nuxt-child組件用法(父子頁面組件的傳值),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Vue.js實現下載時暫?;謴拖螺d

    Vue.js實現下載時暫停恢復下載

    本文主要介紹了Vue.js實現下載時暫?;謴拖螺d,通過使用XMLHttpRequest對象來控制下載過程,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2025-01-01
  • Vue中如何避免props驗證失敗問題

    Vue中如何避免props驗證失敗問題

    本文將探討 props 驗證失敗的常見原因,并提供解決方法,幫助開發(fā)者在 Vue 組件開發(fā)中避免這些問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • Vue3中的script?setup語法糖的使用及說明

    Vue3中的script?setup語法糖的使用及說明

    在這篇博客中,我們將探討?script?setup?的含義、好處以及示例代碼,幫助你更好地理解并在項目中合理運用這一特性,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • 詳解從vue-loader源碼分析CSS Scoped的實現

    詳解從vue-loader源碼分析CSS Scoped的實現

    這篇文章主要介紹了詳解從vue-loader源碼分析CSS Scoped的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09

最新評論

黔西| 罗定市| 且末县| 天台县| 襄樊市| 玉山县| 龙山县| 濉溪县| 瑞安市| 莫力| 册亨县| 西平县| 安福县| 洞头县| 新源县| 赤壁市| 安新县| 娄底市| 秦皇岛市| 临高县| 平顶山市| 五台县| 罗江县| 仙游县| 涿州市| 商水县| 太谷县| 北碚区| 盱眙县| 怀化市| 迭部县| 云梦县| 玉屏| 浠水县| 德江县| 盐城市| 泰安市| 辽宁省| 临清市| 梅州市| 金堂县|