如何用 Cloudbase Framework 部署一個 Vue 項目


無需修改業務代碼,就能將 Vue 應用前后端一鍵托管部署在雲開發平台~

Cloudbase Framework 是雲開發官方出品的前后端一體化部署工具。目前已經 [開源] 。

關於 Cloudbase Framework 的介紹,《雲開發推出「前后端一體化部署工具」CloudBase Framework》。想必大家看完,一定都磨刀霍霍。今天就給大家帶來一篇實戰文章,如何用 Cloudbase Framework 部署一個 Vue 項目。

准備工作
第一步:確保本地安裝了 Node.js
node 版本需要在 10 以上,如果沒有安裝,請前往官網安裝,建議選擇 LTS 版本。

第二步:擁有騰訊雲賬號、開通環境,獲得環境 ID
第三步:安裝 Cloudbase CLI
npm i -g @cloudbase/cli
檢查是否安裝成功。如果有版本輸出,就代表安裝成功了。

cloudbase -v
cloudbase 命令可以簡寫成 tcb(Tencent CloudBase 的簡稱)。

tcb -h 看看 cloudbase 有哪些能力。

總結下來,大概是這幾方面:
騰訊雲賬號登錄、退出
雲開發環境配置
應用配置初始化與部署
雲函數相關
文件上傳、下載、刪除、權限設置
HTTP Service 相關
第四步:登錄 Cloudbase
輸入以下命令,會在瀏覽器打開騰訊雲的授權頁面,點擊“確認授權”即可。

cloudbase login

准備工作都做好以后,我們就可以着手部署相關的工作了。

部署 Vue 應用
總的來說,用 Cloudbase Framework 部署一個 Vue 應用,只需要兩步。第一步:初始化項目配置;第二步,部署。

現有項目

如果你的項目已經存在,在項目根目錄,執行以下命令,生成項目配置。

cloudbase
選擇關聯環境后,會在項目根目錄,生成一個 cloudbasrc.json 文件。雲開發環境 ID 會被寫進這個文件。

{ "envId": "static-176d4a" }
接下來,輸入以下命令,進行部署。

cloudbase framework deploy

這個命令會做以下幾件事:

安裝插件:@cloudbase/framework-plugin-website。在 cloudbaserc.json 里,你會發現執行這個命令后,新增了這個插件。

讀取雲開發環境 ID
讀取 publicPath,並將應用資源托管到/下。因為 my-vue-app 是用 vue-cli 創建的項目,所以 publicPath 默認為"/"
打包
安裝 node_modules
部署
部署成功后,訪問地址:https://static-176d4a.tcloudbaseapp.com/

新項目

第一步:初始化項目
執行以下命令,Cloudbase 除了會幫你生成項目配置外,還會初始化項目。

cloudbase init --template=vue
執行命令后,會讓你選擇關聯環境、選擇雲開發模板(Vue 應用)、輸入項目名稱。這里,我們的項目名是 cloudbase-example。

需要注意的是,cloudbase 默認會創建一個全棧 Vue 應用,如果你只想要一個靜態 Vue 應用,需要手動去掉雲函數部分的代碼。

進入創建好的項目根目錄,瀏覽文件結構你會發現和 cloudbase 相關的,除了 cloudbaserc.json 以外,還有一個 cloudfunctions 目錄。這個目錄就是雲函數所在的目錄。在 cloudfunctions 目錄下有一個名為 vue-echo 的函數,這個雲函數,稍后會用到。

cloudebaserc.json 里,會默認安裝兩個插件。之前提到的 @cloudbase/framework-plugin-website 和 雲函數部署相關的 @cloudbase/framework-plugin-function

第二步(可跳過):本地開發。
執行npm i, 安裝 node_modules。

執行npm run dev 。本地運行時,默認監聽端口是 5000,publicPath 是 /vue。這些配置項均可在 package.json 里修改。

部署雲函數: tcb functions:deploy vue-echo

點擊“調用 hello world 雲函數”按鈕時,會調用 callFunction 這個方法。

而這個方法,會去調用名為“vue-echo” 的雲函數。這個雲函數做的就是“echo”的工作,返回一個對象,key 名為“event”, value 是你傳入的對象 { "foo": "bar" }

點擊按鈕,試試。你會發現返回結果已經展現在頁面里了:

關於 cloudbase 的雲函數,之后的文章會進一步說明,這里就不贅述了。

第三步:部署
默認 cloudPath 是 /vue。如果要修改靜態資源路徑,請在 cloudbaserc.json 里修改 cloudPath。

輸入以下命令,進行部署。

cloudbase framework deploy
部署成功

待優化的地方
在體驗過程中,用戶反饋了這些問題,我們之后會逐步優化。

初始化新項目時,支持自動安裝 node_modules
目前執行cloudbase init --template=vue 時,是不會執行npm install的腳本來安裝 node_modules 的。

初始化項目,支持僅初始化靜態 Vue 應用。
目前執行cloudbase init --template=vue 時,只支持初始化全棧 Vue 應用,不支持僅初始化靜態 Vue 應用。這對於不想用雲函數的團隊來說,很不方便。

優化靜態網站托管緩存
將 cloudPath 從 /a 更改到 /b 時, /a 依然能請求到靜態資源。而我們期望的是“覆蓋”: /a 下不能請求到靜態資源。

如果你在部署過程中,遇到了問題,或者希望我們能支持新功能,歡迎 issues 反饋~~

當然,也歡迎更多的小伙伴加入,共建社區生態。

Github 開源地址:https://github.com/TencentCloudBase/cloudbase-framework

歡迎給我們點個 star,幫助我們做得更好。

【產品介紹】雲開發(Tencent CloudBase,TCB)是騰訊雲提供的雲原生一體化開發環境和工具平台,為開發者提供高可用、自動彈性擴縮的后端雲服務,包含計算、存儲、托管等serverless化能力,可用於雲端一體化開發多種端應用(小程序,公眾號,Web 應用,Flutter 客戶端等),幫助開發者統一構建和管理后端服務和雲資源,避免了應用開發過程中繁瑣的服務器搭建及運維,開發者可以專注於業務邏輯的實現,開發門檻更低,效率更高。


免責聲明!

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



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