Vue+Element的后臺管理框架的整合實踐
新開發(fā)的一個后臺管理系統(tǒng)。在框架上,領(lǐng)導(dǎo)要用AdminLTE這套模板。這個其實很簡單,把該引入的樣式和js文件引入就可以了。這里就不多贅述了。可以參考官網(wǎng):https://adminlte.io/
效果圖,如下:

AdminLTE這個模板,還是很方便的。有興趣的大家可以自行去琢磨。我只是把這個模板內(nèi)嵌到新系統(tǒng)中去,也就沒多去研究了。
AdminLTE這個就告一段落。下面來說說今天的主題,Vue+ElementUI的后臺管理框架。
Vue+ElementUI的后臺管理框架
首先我們要先了解,什么是Vue?Vue官網(wǎng):https://cn.vuejs.org/
Vue官網(wǎng)中對Vue的解釋:
Vue (讀音 /vjuː/,類似于 view) 是一套用于構(gòu)建用戶界面的漸進式框架。與其它大型框架不同的是,Vue 被設(shè)計為可以自底向上逐層應(yīng)用。Vue 的核心庫只關(guān)注視圖層,不僅易于上手,還便于與第三方庫或既有項目整合。另一方面,當(dāng)與現(xiàn)代化的工具鏈以及各種支持類庫結(jié)合使用時,Vue 也完全能夠為復(fù)雜的單頁應(yīng)用提供驅(qū)動。
那什么是ElementUI?
據(jù)聽說是餓了么公司開發(fā)的一套UI組件,具體的我也不太清楚,這是ElementUI中文官網(wǎng):https://element.eleme.cn/
在官方文檔上,ElementUI給出了其設(shè)計原則:
1、一致 Consistency
與現(xiàn)實生活一致:與現(xiàn)實生活的流程、邏輯保持一致,遵循用戶習(xí)慣的語言和概念;
在界面中一致:所有的元素和結(jié)構(gòu)需保持一致,比如:設(shè)計樣式、圖標和文本、元素的位置等。
2、反饋Feedback
控制反饋:通過界面樣式和交互動效讓用戶可以清晰的感知自己的操作;
頁面反饋:操作后,通過頁面元素的變化清晰地展現(xiàn)當(dāng)前狀態(tài)。
3、效率Efficiency
簡化流程:設(shè)計簡潔直觀的操作流程
清晰明確:語言表達清晰且表意明確,讓用戶快速理解進而作出決策
幫助用戶識別:界面簡單直白,讓用戶快速之別而非回憶,減少用戶記憶負擔(dān)。
4、可控Controllability
用戶決策:根據(jù)場景可給予用戶操作建議或安全提示,但不能代替用戶進行決策;
結(jié)果可控:用戶可以自由的進行操作,包括撤銷、回退和終止當(dāng)前操作等。
這些都在官網(wǎng)上有介紹。
vue-element-admin 是一個后臺前端解決方案
既然這個是基于Vue+ElementUI開發(fā)的,所以Vue的一些前端準備還是需要的,可以在之前的隨筆中去查看,點擊這里
中文官方幫助文檔https://panjiachen.gitee.io/vue-element-admin-site/zh/guide/
vue-element-admin 是一個后臺前端解決方案,它基于 vue 和 element-ui實現(xiàn)。它使用了最新的前端技術(shù)棧,內(nèi)置了 i18 國際化解決方案,動態(tài)路由,權(quán)限驗證,提煉了典型的業(yè)務(wù)模型,提供了豐富的功能組件,它可以幫助你快速搭建企業(yè)級中后臺產(chǎn)品原型。
這個項目的定位是后臺集成方案,不太適合當(dāng)基礎(chǔ)模板來進行二次開發(fā)。因為本項目集成了很多你可能用不到的功能,會造成不少的代碼冗余。如果你的項目不關(guān)注這方面的問題,也可以直接基于它進行二次開發(fā)。
安裝Git和下載Demo
到這個地址 https://git-scm.com/download/win去下載并且安裝Git
下載好Git之后,就可以從Git上拉去代碼了
git clone https://github.com/PanJiaChen/vue-element-admin.git
或者,直接在Git上下載壓縮包也是可以的https://github.com/PanJiaChen/vue-element-admin.git
下載下來,項目的目錄結(jié)構(gòu)就是這個樣子

安裝依賴:
npm install
建議不要用 cnpm 安裝 會有各種詭異的bug 可以通過如下操作解決 npm 下載速度慢的問題
npm install --registry=https://registry.npm.taobao.org
首先要確保自己電腦上又安裝了Node.js的環(huán)境??梢宰孕腥ス倬W(wǎng)上去下載。
本地開發(fā),啟動項目
vue cli 2 是 npm run dev ,cli 3 是npm run serve
如果前面步驟都正確,就可以看到如下界面:

登錄進去就可以看到如下界面:這個界面還是挺漂亮的

路由和配置左側(cè)菜單
什么是路由呢?可以參照下官方的解釋:https://router.vuejs.org/zh/guide/
路由允許我們通過不同的 URL 訪問不同的內(nèi)容。該 URL 可以是我們自己設(shè)置的,在項目中并沒有這樣的文件夾,這種功能就是路由.
路由的本質(zhì)是hash值!
vue 中的路由設(shè)置分為四步曲 :
定 : 定義路由組件
配 : 配置路由
實 : 實例化路由
掛 : 掛載路由
用 Vue.js + Vue Router 創(chuàng)建單頁應(yīng)用,是非常簡單的。使用 Vue.js ,我們已經(jīng)可以通過組合組件來組成應(yīng)用程序,當(dāng)你要把 Vue Router 添加進來,我們需要做的是,將組件 (components) 映射到路由 (routes),然后告訴 Vue Router 在哪里渲染它們。

路由放在src->router->index.js中,還有一個views文件夾,當(dāng)然是放這些頁面的啦~
首先,我們要了解一些這個項目中配置路由時提供了哪些配置項
//當(dāng)設(shè)置 true 的時候該路由不會再側(cè)邊欄出現(xiàn) 如401,login等頁面,或者如一些編輯頁面/edit/1
hidden: true // (默認 false)
//當(dāng)設(shè)置 noRedirect 的時候該路由在面包屑導(dǎo)航中不可被點擊
redirect: 'noRedirect'
//當(dāng)你一個路由下面的 children 聲明的路由大于1個時,自動會變成嵌套的模式--如組件頁面
//只有一個時,會將那個子路由當(dāng)做根路由顯示在側(cè)邊欄--如引導(dǎo)頁面
//若你想不管路由下面的 children 聲明的個數(shù)都顯示你的根路由
//你可以設(shè)置 alwaysShow: true,這樣它就會忽略之前定義的規(guī)則,一直顯示根路由
alwaysShow: true
name: 'router-name' //設(shè)定路由的名字,一定要填寫不然使用<keep-alive>時會出現(xiàn)各種問題
meta: {
  roles: ['admin', 'editor'] //設(shè)置該路由進入的權(quán)限,支持多個權(quán)限疊加
  title: 'title' //設(shè)置該路由在側(cè)邊欄和面包屑中展示的名字
  icon: 'svg-name' //設(shè)置該路由的圖標
  noCache: true //如果設(shè)置為true,則不會被 <keep-alive> 緩存(默認 false)
  breadcrumb: false // 如果設(shè)置為false,則不會在breadcrumb面包屑中顯示
}
所以,我們只需要在路由中對應(yīng)的位置加上自己的菜單選項就可以了
{
    path: '/bingle',
    component: Layout,
    redirect: '/bingle/index',
    name: 'bingle',
    meta: {
      title: 'BingleTestMainMenu',
      icon: 'example'
    },
    children: [
      {
        path: 'bingle',
        component: () => import('@/views/dashboard/index'),
        name: 'bingle',
        meta: { title: 'BingleSubmenu1', icon: 'guide', noCache: true,affix: true  }
      },
      {
        path: 'bingle1',
        component: () => import('@/views/dashboard/index'),
        name: 'bingle2',
        meta: { title: 'BingleSubmenu2', icon: 'guide', noCache: true,affix: true  }
      }
    ]
  },
這時就可以在菜單欄看到自己增加的菜單項了。

到此這篇關(guān)于Vue+Element的后臺管理框架的整合實踐的文章就介紹到這了,更多相關(guān)Vue Element后臺管理框架內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
 Elemenu中el-table中使用el-popover選中關(guān)閉無效解決辦法(最新推薦)
這篇文章主要介紹了Elemenu中el-table中使用el-popover選中關(guān)閉無效解決辦法(最新推薦),因為在el-table-column里,因為是多行,使用trigger="manual"?時,用v-model="visible"來控制時,控件找不到這個值,才換成trigger="click",需要的朋友可以參考下2024-03-03
 vue input 輸入校驗字母數(shù)字組合且長度小于30的實現(xiàn)代碼
這篇文章主要介紹了vue input 校驗字母數(shù)字組合且長度小于30的實現(xiàn)代碼,文章給大家補充介紹了在Vue.Js下使用el-input框只能輸入數(shù)字并限制位數(shù)并且限制中文輸入以及粘貼功能,感興趣的朋友跟隨腳本之家小編一起看看吧2018-05-05
 解決vue動態(tài)為數(shù)據(jù)添加新屬性遇到的問題
今天小編就為大家分享一篇解決vue動態(tài)為數(shù)據(jù)添加新屬性遇到的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09
 vue.js通過路由實現(xiàn)經(jīng)典的三欄布局實例代碼
本文通過實例代碼給大家介紹了vue.js通過路由實現(xiàn)經(jīng)典的三欄布局,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧2018-07-07

