使用Vue3.0+Element-plus+Vue-router4.0(并对利用导航守卫对路由进行二次封装)搭建后台管理系统项目

举报
nineteens 发表于 2021/03/17 16:56:37 2021/03/17
【摘要】 使用Vue3.0+Element-plus+Vue-router4.0(并对利用导航守卫对路由进行二次封装)搭建后台管理系统项目

  前言

  这篇文章主要给大家分享一下如何使用Vue3.0+router4.0+elementPlus搭建一个后台管理系统项目,具体使用步骤再下面文章会详细介绍。

  一、如何创建一个Vue3.0项目?

  1.通过vue-cli3.0 进行搭建,选择Vue3.0即可

  vue create 'Name'

  选择Vue 3 Preview 即可,后面的步骤基本和Vue2 一致。

  二、引入Vue-router4.0版本并对其进行封装

  1.引入路由

  npm 引入:

  npm install vue-router @4.0.0-alpha.6 --save

  main.js 中引入:

  import router from './router/index'

  const app = createApp(App);

  app.use(router);

  app.mount("#app");

  2.二次封装

  创建router目录并创建index.js和router文件:

  index.js文件

  import {createRouter,createWebHashHistory} from "vue-router";

  import routers from './router'

  const router = createRouter({

  history: createWebHashHistory(),

  routes: routers

  })

  //可以进行路由守卫

  export default router

  router文件

  import IndexPage from '@/pages/index.vue'

  export default

  [

  {

  path: "/",

  name: "Home",

  component: IndexPage,

  children: [{

  path: '/homePage',

  name: "Home",

  component: () =>

  import("../pages/home/home.vue"),

  }

  ]

  },

  {

  path: "/news",

  name: "news",

  component: IndexPage,

  children: [{

  path: '/newsList',

  name: "news",

  component: () =>

  import("../pages/news/news.vue"),

  }]

  }

  ]

  三、按需引入Element-Plus

  1.设置按需引入

  修改babel.config.js文件为按需引入:

  module.exports = {

  presets: [

  '@vue/cli-plugin-babel/preset'

  ],

  plugins: [

  [

  "import",

  {

  libraryName: 'element-plus',

  customStyleName: (name) => {

  return `element-plus/lib/theme-chalk/${name}.css`;

  },

  },

  ],

  ]

  }

  2.进行二次封装

  创建element.js文件,引入需要的组件和插件,根据项目的实际需求进行增加或修改:

  // 按需引入elementUI矿建

  // 引入组件

  import {

  ElTable,

  ElTableColumn,

  ElInfiniteScroll,

  ElLoading,

  ElMessage,

  ElMessageBox,

  ElNotification,

  ElButton,

  ElMenu,

  ElMenuItem,

  ElMenuItemGroup,

  ElSubmenu,

  ElIcon,

  ElContainer,

  ElAside,

  ElHeader,

  } from 'element-plus';

  export const components = [

  ElTable,

  ElTableColumn,

  ElButton,

  ElMenu,

  ElMenuItem,

  ElMenuItemGroup,

  ElSubmenu,

  ElIcon,

  ElContainer,

  ElAside,

  ElHeader,

  ]大连人流医院 http://www.dljzyyb.com/

  export const plugins = [

  ElInfiniteScroll,

  ElLoading,

  ElMessage,

  ElMessageBox,

  ElNotification,

  ]

  在main.js中引入element.js并使用

  import { createApp } from 'vue'

  import App from './App.vue'

  import router from './router/index'

  // 引入elementJs

  import {components,plugins} from './element'

  const app = createApp(App);

  app.use(router);

  app.mount("#app");

  // 按需使用elemntUI组件

  components.forEach(component => {

  app.component(component.name, component)

  })

  plugins.forEach(plugin => {

  app.use(plugin)

  })

  四、实现效果(忽略样式)

  使用Vue3.0 + Vue-router4.0 + Element-plus 实现了一个简单的后台管理系统模板,后期可以进行不断更新、迭代。

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。