vue-cli項目中生成免打包的配置文件,直接在配置文件中修改url地址刷新頁面即可更改請求域名地址,不需重新打包


需求:

在打包成功之后在dist中會生成一個配置文件,配置文件中包含要請求的地址,通過直接修改配置文件中的地址即可成功修改請求地址,不需要再重新打包。

方便在不同環境下運維修改地址之后可以直接部署,避免重復打包的工作。與本地代碼地址不沖突。

 

實現代碼:

1.public文件夾下新建一個config.js文件,與index.html同級:

const Glod = {
  // baseURL: 'https://ltnapii.cloudcc.com/api',
  // baseURLNoApi: 'https://ltnapii.cloudcc.com/',
  baseURL: 'https://ccapi-gwi.cloudcc.com/api',
  baseURLNoApi: 'https://ccapi-gwi.cloudcc.com/',
}

exports = Glod

2.index.html中引入該js文件:

index.html為項目的根文件,即入口文件。

<script type="text/javascript" src="./config.js"></script>

3.vue.config.js中require該js文件:

const Glod = require('./public/config') // 配置文件

target: Glod.baseURL, //服務器

4.main.js中全局定義:

Vue.prototype.$baseConfig = Glod; 

5.其他js、vue文件中使用:

baseURL: Glod.baseURLNoApi,

this.$baseConfig.baseURL;

此時,代碼就寫完了,在打包成功之后dist文件夾下會生成創建的config.js文件,但該文件與public下的config.js不是同一個文件,在修改dist下的配置文件時,並不會修改public下的配置文件,但是請求地址會改變。因為app.js文件里的地址是用的定義的Glod常量,不是寫死的地址。

 

測試:

測試修改dist中配置文件地址時是否生效:

1.安裝http-server或者anywhere 搭建web服務器環境(建議使用anywhere)

npm install anywhere -g

2.在dist打開命令行輸入anywhere,瀏覽器會自己打開,那么你打包好的項目就相當於在服務器上運行了,這時你再修改config.js里面的地址,刷新網頁,可通過查看接口訪問地址是否更改為自己設置的地址,此時可驗證代碼是否配置成功。

 

注意:

1.在public下的配置文件中定義了一個常量Glod,在引入index.html中后成為全局常量,除了vue.config.js中不能訪問到,其他文件中均可以訪問。之所以在main.js中又定義了一個全局變量baseConfig是為了保持統一,在.vue文件中需要使用地址時直接通過this.$baseConfig來訪問。

2.我用的是vue-cli4.4.6,不同版本的腳手架創建config.js文件的位置不同,可自行百度,但設置方式基本相同。

3.參考鏈接:

https://blog.csdn.net/qq_39241544/article/details/106791093

https://blog.csdn.net/qq_41772754/article/details/88106508

https://www.cnblogs.com/xiaolucky/p/12929720.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM