vue 搭建后臺系統(tǒng)模塊化開發(fā)詳解
本文主要介紹了vue 搭建后臺系統(tǒng)模塊化開發(fā),分享給大家,具體如下:
效果

目錄結(jié)構(gòu)
├── README.md ├── build │ ├── build.js │ ├── check-versions.js │ ├── logo.png │ ├── utils.js │ ├── vue-loader.conf.js │ ├── webpack.base.conf.js │ ├── webpack.dev.conf.js │ └── webpack.prod.conf.js ├── config │ ├── dev.env.js │ ├── index.js │ └── prod.env.js ├── index.html ├── package-lock.json ├── package.json ├── src │ ├── App.vue │ ├── assets │ │ └── logo.png │ ├── components │ │ ├── HelloWorld.vue │ │ ├── header.vue │ │ ├── home.vue │ │ └── leftBanner.vue │ ├── main.js │ ├── router │ │ └── index.js │ └── views │ ├── active.vue │ ├── listOrder.vue │ ├── newOrder.vue │ ├── system.vue │ └── user.vue └── static
實現(xiàn)方法:
第一步:使用vue-cli 腳手架初始化項目文件,具體步驟參考
vue.js 項目 環(huán)境搭建、運行、打包發(fā)布(常規(guī)版)
第二步:封裝頭部、側(cè)邊欄和公共容器組件
頭部:用戶信息等
側(cè)邊欄:用的elment-ui 的導(dǎo)航欄
公共容器:使用router-view 引入其他子頁面,達到所有頁面公用頭部和側(cè)邊欄的效果
<template>
<div>
<el-container>
<el-header>
<temHeader></temHeader>
</el-header>
<el-container>
<el-aside>
<temLeftBanner></temLeftBanner>
</el-aside>
<el-main >
<transition name="move" mode="out-in">
<router-view class="main-container"></router-view>
</transition>
</el-main>
</el-container>
</el-container>
</div>
</template>
<script>
import temHeader from './header.vue'
import temLeftBanner from './leftBanner.vue'
export default {
data () {
return {
}
},
components: { // 組件
temHeader,
temLeftBanner
},
computed: { // 計算
},
methods: { // 方法事件
},
mounted () { // 加載完成
},
created () { // 創(chuàng)建
}
}
</script>
<style lang='less'>
.el-container{
height: 100vh;
}
.el-header, .el-footer {
background-color: #B3C0D1;
color: #333;
text-align: center;
line-height: 60px;
}
.el-aside {
background-color: #D3DCE6;
color: #333;
text-align: center;
line-height: 200px;
}
.el-main {
background-color: #E9EEF3;
color: #333;
text-align: center;
}
.main-container{
max-width: 800px;
margin: 0 auto;
}
body > .el-container {
margin-bottom: 40px;
}
.el-container:nth-child(5) .el-aside,
.el-container:nth-child(6) .el-aside {
line-height: 260px;
}
.el-container:nth-child(7) .el-aside {
line-height: 320px;
}
</style>
第三步:內(nèi)容頁面
│ └── views │ ├── active.vue │ ├── listOrder.vue │ ├── newOrder.vue │ ├── system.vue │ └── user.vue
第四步:路由
使用children來區(qū)分路由地址
import Vue from 'vue'
import Router from 'vue-router'
import home from '@/components/home'
import listOrder from '@/views/listOrder'
import newOrder from '@/views/newOrder'
import active from '@/views/active'
import system from '@/views/system'
import user from '@/views/user'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
redirect: '/listOrder'
},
{
path: '/',
name: 'home',
component: home,
children: [
{
path: '/listOrder',
name: 'listOrder',
component: listOrder
},
{
path: '/newOrder',
name: 'newOrder',
component: newOrder
},
{
path: '/active',
name: 'active',
component: active
},
{
path: '/system',
name: 'system',
component: system
},
{
path: '/user',
name: 'user',
component: user
}
]
}]
})
項目地址:https://github.com/Aimee1608/vueCommonModule
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Vue.js結(jié)合bootstrap前端實現(xiàn)分頁和排序效果
這篇文章主要為大家詳細介紹了Vue.js結(jié)合bootstrap 前端實現(xiàn)分頁和排序效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-12-12
用vue的雙向綁定簡單實現(xiàn)一個todo-list的示例代碼
本篇文章主要介紹了用vue的雙向綁定簡單實現(xiàn)一個todo的示例代碼,具有一定的參考價值,有興趣的可以了解一下2017-08-08
vue在取對象長度length時候出現(xiàn)undefined的解決
這篇文章主要介紹了vue在取對象長度length時候出現(xiàn)undefined的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06

