Vue實現分頁與前端跨域問題解決策略(二)

CMS系統使用Vue-cli腳手架創建
package.json:記錄了工程所有依賴,及腳本命令。
開發使用:npm run dev
打包使用:npm run build
webpack.base.conf.js:webpack的webpack.config.js配置文件,在此文件中配置了入口文件及各種Loader。
main.js:工程的入口文件,在此文件中加載了很多第三方組件,如:Element-UI、Base64、VueRouter等。
index.html是模板文件。

單頁面應用SPA:只有一張Web頁面的應用,頁面上所有操作都由JS來控制。
優點:
1、用戶體驗好,不用刷新頁面,整個過程由Ajax來操作;
2、適合前後端分離開發;
缺點:
1、首頁加載速度慢;
2、SEO(搜索引擎優化)不友好;
總結:
本項目的門戶、課程介紹不採用單頁面應用架構去開發,對於需要用戶登錄的管理系統採用單頁面開發。

頁面結構:
.vue文件的結構如下:
<template>:編寫頁面view部分
<script>:編寫頁面model及vm部分
<style>:編寫頁面樣式,不是必須
注意:template內容必須有一個根元素,否則vue會報錯,這裏我們在template標籤內定義一個div。

頁面路由:實現url訪問到頁面
//配置路由
import Home from ‘@/module/home/page/home.vue’;
//導入路由規則
import CmsRouter from ‘@/module/cms/router’
//合併路由規則
concat(CmsRouter)

當前後端的協議、域名或端口不同時會出現跨域問題
原因:瀏覽器的同源策略不允許跨域訪問
同源策略:指協議、域名、端口相同
例如:
前端訪問頁面:http://localhost:11000/
後端請求接口:http://localhost:31001/
解決:採用proxyTable解決,它是http代理中間件,它依賴node.js。
proxyTable的基本原理:用服務端代理解決瀏覽器跨域。
cms跨域解決原理:
1、前端訪問頁面:http://localhost:11000/
2、後端請求接口:http://localhost:11000/cms
具體配置如下:
1、請求前加/api前綴
在這裏插入圖片描述
2、在config/index.js下配置proxyTable:
在這裏插入圖片描述

分頁數據效果:
在這裏插入圖片描述

分頁數據展示流程:
1、在page_list.vue文件中使用el-table標籤初始化分頁表頭。
在這裏插入圖片描述
2、頁面一加載調用changePage函數,然後調用query函數。
在這裏插入圖片描述
3、轉化querystring.stringify(params)入參值
在這裏插入圖片描述
4、利用axios發送請求
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章