通過vue-cli來學習修改Webpack多環(huán)境配置和發(fā)布問題
Vue之所以現在如此之火熱,一部分也得益于有官方的腳手架生成工具Vue-cli,大大簡化了初學者環(huán)境搭建的成本,但是實際業(yè)務中我們往往需要實現其他的功能來對webpack進行改造,本文將會根據一些實際的業(yè)務需求,先學習vue-cli生成的模版,然后在進行相關修改。
Vue-cli生成模版文件目錄
├── README.md ├── build │ ├── build.js │ ├── check-versions.js │ ├── dev-client.js │ ├── dev-server.js │ ├── utils.js │ ├── webpack.base.conf.js │ ├── webpack.dev.conf.js │ └── webpack.prod.conf.js ├── config │ ├── dev.env.js │ ├── index.js │ └── prod.env.js ├── index.html ├── package.json ├── src │ ├── App.vue │ ├── assets │ │ └── logo.png │ ├── components │ │ └── Hello.vue │ └── main.js └── static
本文主要關注的點在
build - 編譯任務的代碼
config - webpack 的配置文件
package.json - 項目的基本信息
具體每一行webpack的配置的含義這里就不詳細介紹了,請參考 vue2.0腳手架的webpack 配置文件分析
常見需求一:多環(huán)境配置和發(fā)布
Vue-cli生成的模版,只配置了npm run dev , npm run build 這行腳本,分別去啟動開發(fā)環(huán)境服務和,執(zhí)行打包。 而往往正常的公司開發(fā)流程最少都會有開發(fā)、測試仿真、生產環(huán)境,而每個環(huán)境響應的服務器請求地址,或者一些配置參數都會不同,并且發(fā)布的時候需要發(fā)布到多臺服務器上,所以需要執(zhí)行自動化腳本來進行。構建和發(fā)布。
我們首先得弄清楚這個問題,轉載一段文章,作者:鄭海波,鏈接,來源:知乎
這個其實和vue 無關,是一個通用問題:即代碼在哪里構建。如果題主的服務器指的是運行服務器,那其實兩種都不是好選擇。很多新人包括我工作前都以為部署代碼是這樣的
但實際上在較大的互聯(lián)網公司會麻煩一些。以下介紹都是常見做法,并簡化了一些流程,僅僅只是為了方便新人理解。代碼提交到git或svn服務器注意這里是源文件,不是build后的文件
2. 構建服務器會從git服務器中拉去要發(fā)布的代碼版本在這里完成安裝依賴,如題主的vue。并構建用于部署的文件,這些文件一般也會被壓縮成一個壓縮包用于管理
3. 構建后的發(fā)布包會被上傳到中轉站:文件管理服務器集群
4. 實際運行的服務器一般不會是單臺,而是集群,這n臺服務器會從文件服務器中拉去對應版本的相同壓縮包,并解壓最終運行
實際上,這里有明顯的前后順序的流程在里面,如果都是手動操作的話會非常麻煩,所以一般大公司里都會有一個自動部署平臺來全局統(tǒng)籌完成這些工作,作為開發(fā)者其實只需要點下『一鍵部署』就完成以上內容了
如在配合gitlab、github這類提供的webhook自動通知自動部署平臺,穩(wěn)定版本的代碼已經完成推送了(Push Event)。那我們就連點一下按鈕都不需要了。這是個典型的構建部署分離的Case,帶來的好處非常多,比如確保構建的是一份代碼,避免多環(huán)境構建導致不一致的可能性構建一般是個高開銷的行為,可能會引起運行服務器的不穩(wěn)定可以快速回滾或回復,相同版本的代碼無需重構構建。。。
講了這么多所以,打包構建并不是一個簡單的事情,所以需要自動化工具來配置,已有的成熟的方案就是docker 構建一個應用容器引擎來構建,發(fā)布等。不過這塊我也不熟悉,有會的同學可以進行分享。
總結
以上所述是小編給大家介紹的Webpack多環(huán)境配置和發(fā)布問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家的支持!
相關文章
vue2.0 使用element-ui里的upload組件實現圖片預覽效果方法
今天小編就為大家分享一篇vue2.0 使用element-ui里的upload組件實現圖片預覽效果方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09vue2.0使用v-for循環(huán)制作多級嵌套菜單欄
這篇文章主要介紹了vue2.0制作多級嵌套菜單欄,主要使用v-for循環(huán)生成一個多級嵌套菜單欄,這個方法應用非常廣泛,需要的朋友可以參考下2018-06-06