系列文章
-
[juejin.im/post/5c0e45…]vue-admin 詳細註釋,必須手把手做專案系列之(一)
-
[juejin.im/post/5c1609… vue-admin 詳細註釋,必須手把手做專案系列之(二)
-
麻雀雖小五臟俱全:[專案地址 github.com/whylisa/vue…)
前言
- 系列三將會把我們寫好的專案放到伺服器中,模擬和後臺對接的場景
- 我們將會放到phpstudy中,簡單易懂。下載連結:[phpstudy.php.cn/]
- 系列三中我們會來看看放到伺服器中,會有哪些問題,然後解決它。
phpstudy的使用
- 下載解壓之後,我們要找到www目錄,把我們打包的vue檔案放入www目錄下
- 然後我們啟動phpstudy,你會看到如下介面
- 啟動成功的介面
各種報錯
- 然後我們在瀏覽器中輸入localhost/dist之後會報錯,路徑錯誤,找不到css/js檔案
- 是因為我們在用webpack打包時在,config/index.js檔案中,配置的assetsPublicPath: '/',這是預設配置,
- 我們只需要修改成assetsPublicPath: './',就可以了
- 修改之後,我們重新輸入localhost/dist,就可以正常訪問了
- 然後我們點選登入,發現沒有反應,控制檯報錯,報錯如下:
- 從報錯資訊看,我們沒有起介面服務,然後我們起介面服務: [圖片]
- 上圖的報錯資訊圖片報404是樓主的專案login頁面的一張圖片,在這裡做演示。我們可以在控制檯中看到,圖片路徑,和介面都不對。
- 圖片的錯誤是phpstudy在訪問地址時,預設的訪問localhost/static/-----而我們static是dist 目錄下的,所以要加dist。
- 樓主這裡修改的就比較簡單粗暴了,我們在“圖片一中”直接在phpstudy中的“其他選項選單”中,選擇“phpStudy設定”中的“埠常規設定”中的“網站目錄”中加了一個 dist,這樣就解決這個問題了,(ps:這裡只做模擬演示,碰到這種情況我們就會去針對處理,而不是摸不著頭腦)
- 我們在“圖片二”中,不使用本地代理,因為官方文件中proxyTable{},只在開發環境中可以用,這時候我們直接換成我們全部的介面地址,這樣解決了這個問題,就可以正常登陸了。同時,我們在main.js中可以配置axios的攔截器,簡化我們寫這麼長的url地址。(詳情見系列一,二)這裡“貼一段程式碼示例”
- 圖片一:
- 圖片二:
- 貼一段程式碼示例
// 把axios物件繫結到Vue原型中
Vue.prototype.axios = axios
// 給axios配置攔截器
// 新增請求攔截器,攔截器的作用:
// 在攔截器中可以獲取到axios的配置,在config中修改東西
axios.interceptors.request.use(function (config) {
// 在傳送請求之前做些什麼
// console.log('哈哈,我攔截到了請求', config)
// 只需要給config配置baseURL 以及 headers
config.baseURL = 'http://localhost:8888/'
config.headers.Authorization = localStorage.getItem('myToken')
return config
}, function (error) {
// 對請求錯誤做些什麼
return Promise.reject(error)
})
// 配置axios的通過配置
// axios.defaults.baseURL = 'http://localhost:3000/login'
// axios.defaults.headers.common['Authorization'] = localStorage.getItem('myToken')
複製程式碼
- 這樣我們就可以愉快地簡化我們,請求的url地址了,如下:
// 傳送axios請求
const res = await this.axios({
method: 'post',
url: 'login',//直接寫login而不用寫http://localhost:8888/login了,因為我們配置了baseURL
data: this.form
})
複製程式碼
結語
- 樓主本來想用php寫介面,奈何時間有點忙,只能等後續了。。。。
- 這個模板專案的頁面不是很多,我們把基礎架構搞懂之後,其實後面就是板磚了,無論是響應式,還是加上一些特效,或使用h5,c3等等,這個就看專案需求了,你會了1,後面的0你就有譜了,那得你自己加油了。
- 同時,專案優化中,我們可以做一些axios封裝,元件的各種抽離等等的優化,這些自己百度下子,因為別人寫的很不錯。多查查,多看看,總會有收穫,學習莫慌,多讀書,
- 後續樓主,會寫react,小程式,一些js的資料結構與演算法中經典的詳解