前戲
vue-element-admin 是一個后台前端解決方案,它基於 vue 和 element-ui實現。它使用了最新的前端技術棧,內置了 i18n 國際化解決方案,動態路由,權限驗證,提煉了典型的業務模型,提供了豐富的功能組件,它可以幫助你快速搭建企業級中后台產品原型。
vue-element-admin 定位是后台集成方案,不太適合當基礎模板來進行二次開發,因為本項目集成了很多你可能用不到的功能,會造成不少的代碼冗余
官方還提供了一套基礎模板 vue-admin-template ,我們基於它進行二次開發,想要什么功能或者組件就去 vue-element-admin那里復制過來。
官方文檔:https://panjiachen.gitee.io/vue-element-admin-site/zh/
vue-element-admin 腳手架:
- 在線預覽:https://panjiachen.gitee.io/vue-element-admin
vue-admin-template 腳手架:
- 在線預覽:https://panjiachen.gitee.io/vue-admin-template
- github 源碼:https://github.com/PanJiaChen/vue-admin-template
克隆 vue-element-admin 項目與安裝依賴
# 克隆項目 git clone https://github.com/PanJiaChen/vue-element-admin.git # 進入項目目錄 cd vue-element-admin # 安裝依賴 npm install # 建議不要用 cnpm 安裝 會有各種詭異的bug 可以通過如下操作解決 npm 下載速度慢的問題 npm install --registry=https://registry.npm.taobao.org # 本地開發 啟動項目 npm run dev
報錯聲明:拉取項目后,當執行 npm install 時,如果提示 node-sass 下載失敗,則在項目根目錄創建一個 .npmrc文件,文件內容是把 node-sass 的路徑修改成淘寶的 npm,
sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
registry=https://registry.npm.taobao.org
啟動完成后會自動打開瀏覽器訪問 http://localhost:9527,你看到如下頁面就代表成功了
我們把 vue-element-admin 當做后台集成方案,然后在 vue-admin-template 的基礎上進行二次開發,想要什么功能或者組件就去 vue-element-admin 那里復制過來,所以我們在克隆 vue-admin-template 到本地
克隆 vue-admin-template 項目與安裝依賴
# 克隆項目 git clone https://github.com/PanJiaChen/vue-admin-template # 進入項目目錄 cd vue-admin-template # 安裝依賴 npm install # 本地開發,啟動項目 npm run dev
瀏覽器訪問 http://localhost:9528
目錄結構
本項目已經生成了一個完整的開發框架,提供了涵蓋中后台開發的各類功能和坑位,下面是整個項目的目錄結構
├── build # 構建相關 ├── mock # 項目mock 模擬數據 ├── plop-templates # 基本模板 ├── public # 靜態資源 │ │── favicon.ico # favicon圖標 │ └── index.html # html模板 ├── src # 源代碼 │ ├── api # 所有請求 │ ├── assets # 主題 字體等靜態資源 │ ├── components # 全局公用組件 │ ├── directive # 全局指令 │ ├── filters # 全局 filter │ ├── icons # 項目所有 svg icons │ ├── lang # 國際化 language │ ├── layout # 全局 layout │ ├── router # 路由 │ ├── store # 全局 store管理 │ ├── styles # 全局樣式 │ ├── utils # 全局公用方法 │ ├── vendor # 公用vendor │ ├── views # views 所有頁面 │ ├── App.vue # 入口頁面 │ ├── main.js # 入口文件 加載組件 初始化等 │ └── permission.js # 權限管理 ├── tests # 測試 ├── .env.xxx # 環境變量配置 ├── .eslintrc.js # eslint 配置項 ├── .babelrc # babel-loader 配置 ├── .travis.yml # 自動化CI配置 ├── vue.config.js # vue-cli 配置 ├── postcss.config.js # postcss 配置 └── package.json # package.json