版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
6.1前后端聯(lián)調(diào)前端框架技術(shù)與應(yīng)用FrontendFrameworks聯(lián)調(diào)與部署在前端開發(fā)中,聯(lián)調(diào)和部署是關(guān)鍵環(huán)節(jié),確保應(yīng)用與后端服務(wù)有效對接,并完成上線和交付。聯(lián)調(diào)主要包括前后端對接、測試應(yīng)用功能和性能,而部署則是將經(jīng)過測試的應(yīng)用上線供用戶使用。本章節(jié)將介紹前端開發(fā)的聯(lián)調(diào)和部署環(huán)節(jié)。通過實(shí)踐開發(fā)到部署的全過程,讀者將學(xué)習(xí)如何使用Vue.js實(shí)現(xiàn)前后端數(shù)據(jù)對接,掌握聯(lián)調(diào)與部署的基本方法,并將應(yīng)用成功部署至生產(chǎn)環(huán)境,完成應(yīng)用系統(tǒng)的上線交付。前言前后端分離是現(xiàn)代軟件開發(fā)的常用策略,將前端界面與后端數(shù)據(jù)處理分離,提升開發(fā)效率和可維護(hù)性。前端團(tuán)隊專注用戶界面和交互,常用Vue.js、React等框架;后端團(tuán)隊負(fù)責(zé)業(yè)務(wù)邏輯和數(shù)據(jù)處理,可采用Node.js、Java等技術(shù)。前后端通過API接口通信,前端以HTTP請求與后端交互,后端處理后返回數(shù)據(jù),這種模式增強(qiáng)應(yīng)用的可擴(kuò)展性、靈活性,提升性能和安全性,且服務(wù)器或API網(wǎng)關(guān)可保護(hù)通信,簡化維護(hù)和更新流程,前后端能獨(dú)立更新優(yōu)化。前后端分離在現(xiàn)代Web開發(fā)中廣受歡迎,支持快速迭代部署,助力團(tuán)隊靈活應(yīng)對市場和用戶需求,前端開發(fā)者需掌握前后端聯(lián)調(diào)技術(shù)以保障軟件開發(fā)完整流程。前言1Axios簡介2Axios基本用法3模擬后端接口目錄|CONTENTAxios是一個基于Promise的HTTP客戶端,用于瀏覽器和Node.js環(huán)境中進(jìn)行網(wǎng)絡(luò)請求。它是一個流行的網(wǎng)絡(luò)請求庫,以其易用性、功能豐富和強(qiáng)大的錯誤處理能力而受到前端開發(fā)者的青睞。1Axios簡介Axios的概念A(yù)xios的特點(diǎn)如下:(1)基于Promise:Axios使用Promise來處理異步請求,這使得異步操作更加直觀和易于管理。(2)請求攔截:Axios允許在請求發(fā)送前后執(zhí)行攔截器,可以用于修改請求配置、響應(yīng)數(shù)據(jù)或取消請求。(3)響應(yīng)攔截:Axios提供了響應(yīng)攔截器,可以在響應(yīng)到達(dá)后執(zhí)行統(tǒng)一的處理邏輯。(4)錯誤處理:Axios會自動將HTTP錯誤狀態(tài)碼轉(zhuǎn)換為JavaScript錯誤,簡化了錯誤處理。(5)取消請求:Axios支持請求取消功能,允許開發(fā)者在請求發(fā)出后取消正在進(jìn)行的請求。(6)自動轉(zhuǎn)換JSON:Axios自動轉(zhuǎn)換JSON數(shù)據(jù),無需手動解析或序列化。瀏覽器和Node.js兼容:Axios可以在瀏覽器和Node.js環(huán)境中使用,提供了廣泛的兼容性。1Axios簡介Axios的特點(diǎn)2Axios基本用法Axios的使用(1)安裝Axios在VSCode中打開Vite創(chuàng)建的Vue項(xiàng)目,在終端中輸入以下命令,等待執(zhí)行結(jié)束:npminstallaxios完成安裝后,Axios就會作為項(xiàng)目的依賴項(xiàng),就可以在代碼中引入它。(2)配置代理在vite.config.js文件中配置xy,來設(shè)置開發(fā)服務(wù)器的代理。具體配置如下:2Axios基本用法Axios的使用以下是每個配置項(xiàng)的解釋:'/api':這是一個路徑前綴,表示所有以'/api'開頭的請求都會被代理到目標(biāo)服務(wù)器。target:'':目標(biāo)服務(wù)器的地址。所有匹配'/api'前綴的請求都會被轉(zhuǎn)發(fā)到這個地址。
這個網(wǎng)址是聚合數(shù)據(jù)公司提供的API服務(wù)的入口,開發(fā)者可以通過訪問該網(wǎng)址來獲取相關(guān)接口信息,并利用這些接口開發(fā)應(yīng)用程序,實(shí)現(xiàn)各種功能,如獲取數(shù)據(jù)、進(jìn)行特定操作等。在這里當(dāng)我們沒有可用的后端接口時,可以用該接口服務(wù)來進(jìn)行Axios的學(xué)習(xí)。changeOrigin:true:這個選項(xiàng)表示是否修改請求頭中的Origin字段。設(shè)置為true時,代理服務(wù)器會將請求頭中的Origin字段修改為目標(biāo)服務(wù)器的地址。這在處理跨域請求時非常有用。rewrite:(path)=>path.replace(/^\/api/,''):這個函數(shù)用于重寫請求路徑。它會將路徑中以'/api'開頭的部分替換為空字符串。比如,'/api/users'會被重寫為users,然后再轉(zhuǎn)發(fā)到目標(biāo)服務(wù)器。通過這種配置,可以讓開發(fā)者在開發(fā)環(huán)境中方便地處理跨域請求,將前端請求代理到后端服務(wù)器,而不需要在前端代碼中顯式地指定后端服務(wù)器的地址,這有助于保持代碼的簡潔和一致性。2Axios基本用法Axios的使用(3)配置Axios新建文件src/utils/http.js,在該文件中寫入以下代碼來配置Axios:2Axios基本用法Axios的使用(3)在組件中使用Axios新建文件src/components/Weather.vue,在該文件中寫入以下代碼來使用Axios:2Axios基本用法Axios的使用(3)在組件中使用Axios另外,我們還需要到路由配置文件src/router/index.js中,配置路由:到主組件src/App.vue中,添加頁面入口:3模擬后端接口Mock.js簡介在前后端分離的開發(fā)模式中,前端開發(fā)往往需要依賴后端提供的API接口來獲取數(shù)據(jù)。然而,在開發(fā)初期,后端接口可能尚未完成或不穩(wěn)定,這會給前端開發(fā)帶來不便。為了提高開發(fā)效率,我們可以利用Mock.js來模擬后端接口。Mock.js是一個靈活且輕量級的數(shù)據(jù)模擬庫,它允許開發(fā)者定義模擬數(shù)據(jù)和模擬HTTP請求的響應(yīng)。通過Mock.js,開發(fā)者可以在本地開發(fā)環(huán)境中模擬真實(shí)的后端行為,在沒有后端接口的情況下進(jìn)行開發(fā)和測試,從而使得前后端聯(lián)調(diào)測試更加高效和可控。3模擬后端接口Mock.js的應(yīng)用場景獨(dú)立開發(fā)在后端API未完成時,Mock.js允許前端開發(fā)者獨(dú)立于后端進(jìn)行開發(fā)。在單元測試或集成測試中,Mock.js可以用來模擬后端服務(wù)的響應(yīng),確保測試的準(zhǔn)確性。測試通過模擬后端響應(yīng),Mock.js避免了不必要的網(wǎng)絡(luò)請求,從而提高開發(fā)效率。性能優(yōu)化Mock.js允許你預(yù)設(shè)各種錯誤情況,幫助前端開發(fā)者在開發(fā)中提前處理潛在的后端錯誤。錯誤處理3模擬后端接口Mock.js的使用(1)安裝Mock.js在項(xiàng)目中安裝Mock.js非常簡單,可以使用npm來安裝,安裝命令如下:npminstallmockjs(2)管理模擬接口為了更好地管理模擬數(shù)據(jù)和請求,建議將所有相關(guān)定義集中在一個文件或文件夾中。例如,在src目錄下創(chuàng)建一個名為mocks的文件夾,并在其中新建文件src/mocks/index.js,寫入以下代碼來集中管理所有的模擬數(shù)據(jù)和請求:另外,還需在主配置文件src/main.js中引入這些模擬數(shù)據(jù):import'./mocks';3模擬后端接口Mock.js的使用(3)創(chuàng)建模擬接口通過
Mock.mock(url,type,template)方法來創(chuàng)建模擬接口,其中三個參數(shù)分別代表:url:請求路徑。type:請求類型,如get、post、delete、put等。template:生成的響應(yīng)數(shù)據(jù),可以是對象或函數(shù)。若為函數(shù),則需返回相應(yīng)數(shù)據(jù)。Mock.js還提供了Mock.Random工具類,用于生成各種隨機(jī)數(shù)據(jù)。Mock.Random方法在數(shù)據(jù)模板中稱為『占位符』,書寫格式為:@占位符(參數(shù)[,參數(shù)])例如:bio:'@csentence(10,20)',//生成隨機(jī)個人簡介,10到20個字之間的一句話3模擬后端接口Mock.js的使用(3)創(chuàng)建模擬接口根據(jù)不同功能模塊,創(chuàng)建對應(yīng)的JS文件,例如用戶相關(guān)接口,我們通過新建文件src/mocks/user.js,并寫入以下代碼,來創(chuàng)建獲取用戶信息的模擬接口:這段代碼定義了一個模擬的GET請求/api/user,并返回了一個包含用戶信息的JSON對象。其中隨機(jī)生成數(shù)據(jù)的寫法,也可以是下面這種形式:3模擬后端接口Mock.js的使用(4)調(diào)用模擬接口新建文件src/views/user/index.vue,在該文件中寫入以下代碼:3模擬后端接口Mock.js的使用(4)生成隨機(jī)列表數(shù)據(jù)下面我們通過開發(fā)用戶列表和詳情頁面,來展示Mock.js提供的更多的數(shù)據(jù)生成方式。首先,在src/mocks/user.js文件中添加以下代碼,來隨機(jī)生成用戶列表數(shù)據(jù):需要注意的是:在使用Mock.js生成隨機(jī)列表數(shù)據(jù)時,務(wù)必采用函數(shù)形式來生成屬性值,以確保每次生成的數(shù)據(jù)都是動態(tài)的,避免因使用靜態(tài)值而導(dǎo)致列表數(shù)據(jù)重復(fù)。3模擬后端接口Mock.js的使用(4)生成隨機(jī)列表數(shù)據(jù)創(chuàng)建兩個模擬接口,分別用來獲取用戶列表數(shù)據(jù)和根據(jù)用戶id獲取用戶信息:需要注意的是:當(dāng)創(chuàng)建接口并需要從請求URL中提取參數(shù)的,應(yīng)使用正則表達(dá)式匹配URL,從而準(zhǔn)確獲取參數(shù)。3模擬后端接口Mock.js的使用(4)生成隨機(jī)列表數(shù)據(jù)接下來,創(chuàng)建用戶列表和用戶詳情這兩個頁面。用戶詳情組件src/views/user/Detail.vue用戶列表組件src/views/user/List.vue3模擬后端接口Mock.js的使用(4)生成隨機(jī)列表數(shù)據(jù)到路由配置文件src/router/index.js中,添加以下代碼來配置兩個頁面的路由:最后到主組件src/App.vue中,添加用戶列表頁面入口:3模擬后端接口Mock.js的使用(4)生成隨機(jī)列表數(shù)據(jù)感謝觀看前端框架技術(shù)與應(yīng)用FrontendFrameworks6.2項(xiàng)目打包部署前端框架技術(shù)與應(yīng)用FrontendFrameworks聯(lián)調(diào)與部署6.2項(xiàng)目打包部署前端框架技術(shù)與應(yīng)用FrontendFrameworks聯(lián)調(diào)與部署在前端開發(fā)中,當(dāng)我們完成了項(xiàng)目的開發(fā)和聯(lián)調(diào)后,接下來重要的一步就是將項(xiàng)目部署到服務(wù)器上,以便能夠被用戶訪問。下面,我們將學(xué)習(xí)如何使用Nginx在本地計算機(jī)上部署Vue前端項(xiàng)目。前言1項(xiàng)目打包2基于Nginx部署目錄|CONTENT在前端開發(fā)中,項(xiàng)目打包是將開發(fā)環(huán)境下的代碼轉(zhuǎn)換為生產(chǎn)環(huán)境可部署代碼的關(guān)鍵步驟。對于使用Vite創(chuàng)建的Vue項(xiàng)目,打包過程不僅優(yōu)化了代碼,還提高了應(yīng)用的加載速度和性能。項(xiàng)目打包的主要目的是將開發(fā)環(huán)境下的代碼進(jìn)行優(yōu)化和壓縮,生成適合生產(chǎn)環(huán)境的代碼。這包括:代碼壓縮:減少文件大小,提高加載速度。代碼分割:按需加載,減少初始加載時間。資源優(yōu)化:優(yōu)化圖片、字體等靜態(tài)資源,提高加載效率。環(huán)境變量:設(shè)置生產(chǎn)環(huán)境變量,確保應(yīng)用在生產(chǎn)環(huán)境中的正確運(yùn)行。1項(xiàng)目打包(1)項(xiàng)目打包的必要性Vite提供了簡單的命令來打包項(xiàng)目。在項(xiàng)目根目錄下,運(yùn)行以下命令:npmrunbuild1項(xiàng)目打包(2)Vite打包命令(3)打包過程清理舊的構(gòu)建文件:Vite會自動清理dist目錄,確保生成的文件是最新的。編譯代碼:Vite使用Rollup進(jìn)行代碼打包,將Vue組件、JavaScript、CSS等文件編譯成生產(chǎn)環(huán)境可用的代碼。代碼會被壓縮和優(yōu)化,生成更小的文件大小。生成靜態(tài)資源:靜態(tài)資源(如圖片、字體等)會被復(fù)制到dist目錄,并進(jìn)行優(yōu)化處理。例如,圖片可能會被壓縮,字體文件可能會被轉(zhuǎn)換為更高效的格式。生成HTML文件:Vite會生成一個或多個HTML文件,這些文件包含了打包后的JavaScript和CSS文件的引用。生成的HTML文件會被放置在dist目錄中,可以直接部署到服務(wù)器。Vite提供了豐富的配置選項(xiàng),可以在vite.config.js文件中進(jìn)行自定義配置。以下是一些常見的配置示例:1項(xiàng)目打包(4)配置打包選項(xiàng)本地部署:使用Nginx或其他靜態(tài)服務(wù)器在本地部署項(xiàng)目,例如使用Nginx部署.生產(chǎn)環(huán)境部署:將dist目錄中的文件上傳到生產(chǎn)服務(wù)器的靜態(tài)資源目錄。配置生產(chǎn)環(huán)境的靜態(tài)服務(wù)器,確保應(yīng)用能夠正確加載靜態(tài)資源。1項(xiàng)目打包(5)部署打包后的項(xiàng)目打包文件過大:使用代碼分割和懶加載技術(shù),減少初始加載時間。優(yōu)化靜態(tài)資源,如壓縮圖片、字體等。打包后頁面空白:檢查HTML文件中的資源路徑是否正確。確保所有靜態(tài)資源都已正確生成并放置在dist目錄中。打包后功能異常:檢查打包后的JavaScript和CSS文件是否包含錯誤。使用瀏覽器的開發(fā)者工具檢查網(wǎng)絡(luò)請求和控制臺輸出。通過以上步驟,我們可以輕松地將Vite創(chuàng)建的Vue項(xiàng)目打包,用于部署到生產(chǎn)環(huán)境,這不僅提高了應(yīng)用的性能,還確保了用戶能夠獲得最佳的使用體驗(yàn)。(6)常見問題及解決方案Nginx是一款輕量級的高性能Web服務(wù)器、反向代理服務(wù)器以及電子郵件(IMAP/POP3)代理服務(wù)器。它以其高性能、穩(wěn)定性和低資源消耗而聞名,被廣泛應(yīng)用于各類網(wǎng)站和應(yīng)用的部署。我們以部署本地計算機(jī)為例,演示如何使用Nginx進(jìn)行前端項(xiàng)目的部署,步驟如下:2基于Nginx部署Nginx是什么首先,我們需要在本地計算機(jī)上安裝Nginx。從Nginx的官方網(wǎng)站下載適合本地計算機(jī)操作系統(tǒng)(本書以Windows系統(tǒng)為例)的版本,如下圖所示:將下載得到的壓縮包進(jìn)行解壓,可放在計算機(jī)任意目錄下。在該Nginx目錄下,打開命令行工具,輸入
nginx-v
命令,會顯示Nginx的版本信息。2基于Nginx部署(1)安裝Nginx在Nginx目錄下,進(jìn)入conf目錄,打開n
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職企業(yè)管理(企業(yè)管理基礎(chǔ))試題及答案
- 2025年大學(xué)臨床醫(yī)學(xué)(耳鼻喉科學(xué))試題及答案
- 2025年大學(xué)一年級(食品工程)食品機(jī)械基礎(chǔ)試題及答案
- 2025年中職(新能源汽車運(yùn)用與維修)電池維護(hù)階段測試題及答案
- 2025年高職公共關(guān)系學(xué)(公關(guān)策劃)試題及答案
- 2025年大學(xué)大四(化學(xué)工程與工藝)化工系統(tǒng)工程試題及答案
- 2025年高職(釀酒技術(shù))果酒釀造綜合測試題及答案
- 2025年高職餐飲管理(管理實(shí)務(wù))試題及答案
- 2025年高職安全健康與環(huán)保(安全環(huán)保管理)試題及答案
- 2025年大學(xué)大四(資源循環(huán)科學(xué)與工程)資源循環(huán)利用綜合試題及答案
- 五臟與五味的課件
- 高職院校五年一貫制人才培養(yǎng)模式研究
- 第四單元“愛國情懷”(主題閱讀)-五年級語文上冊閱讀理解(統(tǒng)編版)
- JJF(石化)003-2023膩?zhàn)幽と犴g性測定儀校準(zhǔn)規(guī)范
- 主題活動三“鏟屎官”的煩惱說課稿-2025-2026學(xué)年小學(xué)綜合實(shí)踐活動蘇少版新疆專用2024四年級上冊-蘇少版(新疆專用2024)
- 浙江東海新材料科技股份有限公司新建年產(chǎn)15000噸TDM項(xiàng)目環(huán)評報告
- 黨建品牌管理辦法
- 國外退貨管理辦法
- 高標(biāo)準(zhǔn)農(nóng)田建設(shè)內(nèi)容培訓(xùn)
- 企業(yè)倉庫管理培訓(xùn)課件
- 野外駕駛員安全教育培訓(xùn)
評論
0/150
提交評論