一個入門級的前后端分離項目,包括前端、后端兩個子項目。前端為基于Vue全家桶的多頁面應(yīng)用,后端基于Koa2+Sequelize,主要提供API接口。
項目展示

cover.jpg

detail.png
項目特點
- 前端
- Vue-cli3搭建多頁面應(yīng)用
- 組件化開發(fā)
- 使用Vuex管理狀態(tài)
- 響應(yīng)式頁面,適配移動端
- 后端
- 使用Koa2框架
- 支持token驗證登錄
技術(shù)棧
- 前端:Vue + Vuex + Vue-Router
- 后端:Node + Koa2 + Sequelize
- 第三方庫:axios、tweenjs、leancloud
- 中間件:jsonwebtoken、koa-jwt、koa-static等
主要目錄結(jié)構(gòu)
- 前端
.
├─ dist/ # build 生成的代碼
├─ src/ # 源碼目錄
│ ├─ assets/ # 公用資源,主要是 SCSS
│ ├─ components/ # 公用組件
│ ├─ http/ # http 請求相關(guān)
│ ├─ mixin/ # mixin
│ ├─ pages/ # 頁面
│ │ ├─ cart/ # 購物車
│ │ ├─ home/ # 首頁
│ │ ├─ member/ # 用戶頁
│ │ ├─ product/ # 商品詳情頁
│ ├─ utils/ # 工具庫
├── vue.config.js # 配置多頁面入口
├── .babelrc
├── package.json
- 后端
.
├─ database/ # 數(shù)據(jù)庫目錄
├─ middleware/ # 中間件
├─ public/ # 發(fā)布的代碼(靜態(tài)資源)
├─ routes/ # 服務(wù)端路由
├── app.js # 啟動文件
本地運行后端項目
遠(yuǎn)程庫中已將前端代碼打包放入 public 文件夾,因此運行后端項目即可預(yù)覽完整效果。
- 克隆遠(yuǎn)程庫
git clone git@github.com:BlameDeng/sun-server-demo.git
- 安裝依賴
yarn
- 啟動項目
node app
瀏覽器打開 http://localhost:8000/home.html 預(yù)覽。
本地運行前端項目
前端項目需要后臺數(shù)據(jù)支持,因此本地運行前端項目需要同時運行服務(wù)端項目,并且還需要做一些額外配置工作。
- 克隆遠(yuǎn)程庫
git clone git@github.com:BlameDeng/sun-client-demo.git
- 安裝依賴
yarn
- 由于使用了 leancloud 的圖形驗證碼功能,因此需要配置 leancloud 應(yīng)用 appId 和 appKey
- 在 leancloud 新建或打開一個已有應(yīng)用
-
開啟圖形驗證碼服務(wù)(免費)
image.png - 在項目根目錄下新建 key.js 文件,寫入你的應(yīng)用 Id 和 Key:
export default {
appId: '你的appId',
appKey: '你的appKey'
}
- 啟動項目(確保服務(wù)端已運行)
yarn serve
瀏覽器打開 http://localhost:8080/home.html 預(yù)覽。
PS
服務(wù)端已經(jīng)配置好了跨域,因此前后端項目同時運行的時候,8080端口的前端項目可以從8000端口的后端項目獲取數(shù)據(jù)。如果需要更改后端項目端口,參考以下步驟:
- 修改后端項目根目錄 app.js

image.png
將 port 修改為你指定的端口,如3000(修改后需重新運行)
- 修改前端項目 sun-client-demo > src > http 目錄下 url.js

image.png
將 prefix 修改為后端項目指定的端口,如'http://localhost:3000'。請注意修改的是后端項目運行的端口和前端項目獲取數(shù)據(jù)的端口,前端項目本身依舊運行在 Vue-cli 指定的端口。
