使用Vue和Node實現前端,服務端,後臺管理系統三個專案。
前後端分離,Restful API。
-
前端: Vue-CLI
-
服務端:Node-Koa2-Mongodb-Mongoose-七牛雲物件儲存
-
後臺管理系統: iView-Admin
-
開發IDE:VSCode
-
部署環境:阿里雲-Ubuntu16.04
-
版本管理: Git
效果預覽
線上訪問
前端:
掃碼檢視:
線上檢視:
infinite.czero.cn/Infinite-we…
後臺管理系統:
還沒有新增許可權管理的功能,後續會加上。進入登入頁面,如果不懂或者需要賬號私聊我。。。 第一次使用iview-admin,感覺功能還是挺多的,還在摸索階段,只用來實現簡陋的功能,後續會持續優化。
線上檢視:
infinite.czero.cn/Infinite-we…
專案概覽
前端(Vue-CLI):
功能: 架構是基於Vue全家桶購物商城
- 新增better-scroll元件實現下拉重新整理和上拉載入。
- 請求服務端API,真實的資料互動。
- 新增搜尋,登入,註冊等功能並Vuex進行儲存。
- 圖片都是使用Iconfont。
- 動畫切換,使用Vue-router做路由判斷來實現不同的切換動畫。
- 模組化,全域性註冊元件彈窗(alert和toast)效果,封裝共用js函式類。
- 配置Webpack請求代理,解決請求伺服器端跨域問題。
- 使用keep-alive對元件進行快取
目錄結構:
├── config (配置目錄,需要在index.js配置代理,不然會出現跨域的問題)
│ ├── dev.env.js
│ ├── index.js (配置跨域)
│ └── prod.env.js
├── image
│ └── github.png
├── index.html
├── components (元件目錄)
│ ├── About(關於我們)
│ ├── Agreement(使用者協議)
│ ├── Base(共用基礎元件)
│ ├── Collect(我的收藏)
│ ├── Detail(內容詳情)
│ ├── ForgetPasswd(忘記密碼)
│ ├── Hot(發現熱門頁)
│ ├── Index.vue(首頁,推薦頁面)
│ ├── Login(登入頁)
│ ├── Member(個人中心頁)
│ ├── ModelBox(全域性註冊彈窗元件)
│ ├── Register(註冊頁)
│ ├── Search(搜尋頁)
│ └── ToastBox(全域性註冊Toast元件)
├── main.js
├── router
│ └── index.js
└── store (Vuex)
├── actions.js
├── getters.js (獲取Vuex狀態)
├── index.js (Vuex入口檔案)
├── mutation-types.js (變數儲存)
├── mutations.js (to修改動作)
└── state.js (狀態倉庫)
複製程式碼
服務端(Node-Koa2-Mongodb-Mongoose):
功能:
- 分頁載入
- 模糊查詢
- 定製Restful API
- 七牛雲第三方物件儲存對接
- pm2部署到阿里雲
專案目錄:
├── app
│ ├── controllers (邏輯處理目錄)
│ │ ├── admin
│ │ ├── app.js
│ │ ├── hot
│ │ ├── recommend
│ │ ├── upload
│ │ └── user
│ ├── dbhelper (操控資料表目錄)
│ │ ├── AdminHelper.js
│ │ ├── hotHelper.js
│ │ ├── recommendHelper.js
│ │ └── userHelper.js
│ └── models (資料庫模型目錄)
│ ├── admin.js (管理員表)
│ ├── hot.js (熱門發現資料表)
│ ├── recommend.js (首頁推薦表)
│ └── user.js (使用者管理表--登入註冊)
├── app.js (服務端啟動入口檔案 node app.js)
├── config (配置目錄)
│ ├── config.js (基礎配置資訊--七牛雲配置,資料庫配置)
│ └── router.js (路由配置)
複製程式碼
後臺管理系統(iView-Admin):
功能:
- 文章管理,圖片上傳到七牛雲。
- 編輯文章
- 新增文章
- 使用者管理
- 富文字內容新增
專案目錄:
├── build (配置全域性請求地址和跨域處理)
│ ├── webpack.dev.config.js (在這裡配置請求跨域問題,及全域性請求地址)
├── index.html
├── src
│ ├── main.js
│ ├── mixins (公共js工具目錄)
│ │ └── common.js
│ ├── router (路由配置)
│ │ ├── index.js
│ │ └── router.js
│ └── views
│ ├── Main.vue
│ ├── error-page
│ ├── home
│ ├── login.less
│ ├── login.vue
│ ├── main-components (元件入口目錄)
│ ├── main-menu
│ ├─── edit (編輯)
│ ├── hot (熱門)
│ ├── recommend (發現)
│ ├── user (使用者管理)
│ ├── main.less
│ ├── message
│ └── my-components
複製程式碼
除錯方法:
- Chrome除錯(谷歌瀏覽器工具)
- vConsole除錯(真機除錯檢視log日誌神器)
- API除錯神奇Postman。
- Vue-devtools(除錯Vuex狀態)
跨域處理
- 使用Webpack的proxyTable進行請求代理
- Chrome安裝cors擴充
- 服務端配置所以路徑都可跨域或者將開發的IP加入白名單
原始碼
前端原始碼: github.com/czero1995/I…
服務端原始碼:github.com/czero1995/I…
後臺管理原始碼: github.com/czero1995/I…
最後
如有建議或者問題,請私聊聯絡我,一起學習和進步。反手給我一個star^_^