我们继续上一章的内容,上一章讲到我们已经能将项目成功跑起来了,那么我们接下来把项目必用的东西完善一下。

一、安装elementUI

终于到了我们的男二了,继续在VSCode中新建一个终端,然后通过这个命令来安装:

npm i element-ui -S

至于为什么要-S呢?即--save(保存)包名会被注册在package.json的dependencies里面,在生产环境下这个包的依赖依然存在。

安装完成之后呢,我们要通过导入才能在项目中使用,可以在main.js中做全局引用:

import Vue from 'vue'
import App from './App.vue'
//引入elementUI
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css'; //样式文件一定要引入 Vue.config.productionTip = false Vue.use(ElementUI)
new Vue({
render: h => h(App),
}).$mount('#app')

这样就可以做到全局引入,如果在实际开发中用到UI框架的插件没有很多,也是可以通过按需引入的,下面来说说如何按需引入:

import { Message} from 'element-ui';
Vue.use(Message)

上面就是引入一个Message弹窗的功能,也就是element中的内容只有这个可以用,还是觉得挺麻烦的哈。

好了,导入和装载完毕之后,我们测试一下看看有没有成功。

在App.vue文件中加入button组件,然后保存查看,可以看到网页中已经成功渲染按钮组件了。

<template>
<div id="app">
<img alt="Vue logo" src="./assets/logo.png">
<el-button type="primary">测试按钮</el-button>
<HelloWorld msg="Welcome to Your Vue.js App"/>
</div>
</template>

二、安装路由

由于Vue在开发时对路由支持的不足,于是官方补充了vue-router插件。

Vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。

在终端中通过这个命令安装:

npm install vue-router -S

安装完成之后,同样在main.js中挂载它。我们项目src的目录下创建一个router文件夹,用于存放路由映射文件。

在router文件夹下创建index.js和routers.js,分别用于初始化路由和配置路由映射。代码如下:

index.js:

import Vue from 'vue';
import Router from 'vue-router';
import constantRoutes from './routers'; const originalPush = Router.prototype.push;
Router.prototype.push = function (location) {
return originalPush.call(this, location).catch(err => err);
}; Vue.use(Router); const createRouter = () => new Router({
scrollBehavior: () => ({ y: 0 }),
routes: constantRoutes
}) const router = createRouter() export function resetRouter() {
const newRouter = createRouter()
router.matcher = newRouter.matcher
} /**
* 全局前置守卫
* @func beforeEach
* @param {object} to 即将要进入的目标 路由对象
* @param {object} form 当前导航正要离开的路由
* @func next 进行管道中的下一个钩子
*/
router.beforeEach(async (to, form, next) => { }); /**
* 全局后置钩子
* @func afterEach
* @param {object} to 即将要进入的目标 路由对象
* @param {object} form 当前导航正要离开的路由
*/
router.afterEach((to, form) => { }); export default router;

routers.js:

/**
* 逐个导出模块
*/
export const constantRoutes = [
{
path: '/',
redirect: '/home'
},
] export default [
...constantRoutes,
];

然后在main.js中做好配置:

import Vue from 'vue'
import App from './App.vue'
//引入elementUI
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css'; //样式文件一定要引入 //载入路由
import router from './router/index.js'; Vue.config.productionTip = false Vue.use(ElementUI)
new Vue({
router,
render: h => h(App),
}).$mount('#app')

保存之后,可能会报ESLint校验规则的错:

我们先不配置代码校验规则先,后面我们再单独讲代码编写规范。

去掉代码校验的话,在package.json文件的eslintConfig字段中,加入这些代码,然后重启项目,就可以了。

"rules": {
"generator-star-spacing": "off",
"no-tabs": "off",
"no-unused-vars": "off",
"no-console": "off",
"no-irregular-whitespace": "off",
"no-debugger": "off"
}

然后我们的路由安装就算完成了。

三、安装Vuex

在开发大型项目的过程中,还是会常常用到vuex的,关于vuex官方的解释是:vuex是专门用来管理vue.js应用程序中状态的一个插件。他的作用是将应用中的所有状态都放在一起,集中式来管理。描述可能会有些晦涩难懂,不理解的同学,我们边用边学。

在终端中通过这个命令来安装:

npm install vuex --S

静静等待安装完成后,我们将它装载在Vue中,步骤跟装载路由差不多,现在src目录下创建store文件夹,然后创建index.js

import Vue from 'vue';
import Vuex from 'vuex'; const modulesFiles = require.context('./modules', true, /\.js$/)
const modules = modulesFiles.keys().reduce((modules, modulePath) => {
const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
const value = modulesFiles(modulePath)
modules[moduleName] = value.default
return modules
}, {}) Vue.use(Vuex);
export default new Vuex.Store({
modules: modules
});

再在store文件夹下创建modules文件夹,主要用于存放状态数据模块文件的,先不用创建文件:

然后就是在main.js中装载vuex,

import Vue from 'vue'
import App from './App.vue'
//引入elementUI
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css'; //样式文件一定要引入 //载入路由
import router from './router/index.js'; //载入vuex
import store from './store/index.js' Vue.config.productionTip = false Vue.use(ElementUI)
new Vue({
store,
router,
render: h => h(App),
}).$mount('#app')

装载好之后,如果没报错的话,那么对于必要的三件套已经是安装完成了。

其实还有一个插件是必用的,就是关于网络请求的,但这篇内容已经很多了,后面用单独一章来帮助大家了解怎么封装网络请求和装哪个网络请求的插件。

好了,这章的内容就先到这了,下一章说一下完善项目的架构。

 

Vue+element搭建后台管理系统-二、安装插件的更多相关文章

  1. 保姆级别的vue + ElementUI 搭建后台管理系统教程

    vue + ElementUI 搭建后台管理系统记录 本文档记录了该系统从零配置的完整过程 项目源码请访问:https://gitee.com/szxio/vue2Admin,如果感觉对你有帮助,请点 ...

  2. vue.js + element 搭建后台管理系统 笔记(一)

    此文仅记录本人在搭建后台系统过程中遇到的难点及注意点,如果能帮到各位自然是极好的~~~ 项目主要架构:vueJS.elementUI.scss 一.项目初始化 首先需要安装nodejs,安装方法就不在 ...

  3. vue+element搭建后台管理界面(支持table条件搜索)

    代码地址(如果有帮助,请点个Star) vue:https://github.com/wwt729/ElementUIAdmin-master.git springboot后端:https://git ...

  4. vue从入门到女装??:从零开始搭建后台管理系统(二)用vue-docute生成线上文档

    教程 vue从入门到女装??:从零开始搭建后台管理系统(一)安装框架 一个系统开发完成了总要有操作说明手册,接口文档之类的东西吧?这种要全部纯手写就很麻烦了,可以借助一些插件,比如: vue-docu ...

  5. SpringBoot + Vue + ElementUI 实现后台管理系统模板 -- 后端篇(一): 搭建基本环境、整合 Swagger、MyBatisPlus、JSR303 以及国际化操作

    相关 (1) 相关博文地址: SpringBoot + Vue + ElementUI 实现后台管理系统模板 -- 前端篇(一):搭建基本环境:https://www.cnblogs.com/l-y- ...

  6. Vue + Element-ui实现后台管理系统(2)---项目搭建 + ⾸⻚布局实现

    项目搭建 + ⾸⻚布局实现 上篇对该项目做了个总述 :Vue + Element-ui实现后台管理系统(1) --- 总述 这篇主要讲解 项目搭建 + 后台⾸⻚布局实现 : 整体效果 后台首页按布局一 ...

  7. vue+element-ui JYAdmin后台管理系统模板-集成方案【项目搭建篇2】

    项目搭建时间:2020-06-29 本章节:讲述基于vue/cli, 项目的基础搭建. 本主题讲述了: 1.跨域配置 2.axios请求封装 3.eslint配置 4.环境dev,test,pro(开 ...

  8. Vue + Element-ui实现后台管理系统(4)---封装一个ECharts组件的一点思路

    封装一个ECharts组件的一点思路 有关后台管理系统之前写过三遍博客,看这篇之前最好先看下这三篇博客.另外这里只展示关键部分代码,项目代码放在github上: mall-manage-system ...

  9. Vue + Element-ui实现后台管理系统(3)---面包屑 + Tag标签切换功能

    面包屑 + Tag标签切换功能 有关后台管理系统之前写过两遍博客,看这篇之前最好先看下这两篇博客.另外这里只展示关键部分代码,项目代码放在github上: mall-manage-system 1.V ...

随机推荐

  1. python豆瓣250爬取

    import requests from bs4 import BeautifulSoup from lxml import etree # qianxiao996精心制作 #博客地址:https:/ ...

  2. Nebula Graph 在网易游戏业务中的实践

    本文首发于 Nebula Graph Community 公众号 当游戏上知识图谱,网易游戏是如何应对大规模图数据的管理问题,Nebula Graph 又是如何帮助网易游戏落地游戏内复杂的图的业务呢? ...

  3. [NPUCTF2020]Baby Obfuscation wp

    整体观察main函数,可以发现用户自定义函数和变量存在混淆,猜测为函数名及变量名asc混淆. 对函数进行分析: Fox1为欧几里得算法求最大公约数 Fox5其实是pow Fox4根据逻辑数学的法则实际 ...

  4. 两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?

    对. 因为equals()方法可以用开发者重写,hashCode()方法也可以由开发者来重写,因此它们是否相等并没有必然的关系. 如果对象要保存在HashSet或HashMap中,它们的equals( ...

  5. MySQL 数据库作发布系统的存储,一天五万条以上的增量, 预计运维三年,怎么优化?

    1.设计良好的数据库结构,允许部分数据冗余,尽量避免 join 查询,提高效率. 2.选择合适的表字段数据类型和存储引擎,适当的添加索引. 3.MySQL 库主从读写分离. 4.找规律分表,减少单表中 ...

  6. Spring配置文件?

    Spring配置文件是个XML 文件,这个文件包含了类信息,描述了如何配置它们,以及如何相互调用.

  7. 什么是线程池(thread pool)?

    在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内 存资源或者其它更多资源.在 Java 中更是如此,虚拟机将试图跟踪每一个对象, 以便能够在对象销毁后进行垃圾回收.所以提高服务程 ...

  8. 什么是redis的缓存雪崩与缓存穿透?如何解决?

    一.缓存雪崩 1.1 什么是缓存雪崩? 首先我们先来回答一下我们为什么要用缓存(Redis): 1.提高性能能:缓存查询是纯内存访问,而硬盘是磁盘访问,因此缓存查询速度比数据库查询速度快 2.提高并发 ...

  9. 记一次 Nuxt 3 在 Windows 下的打包问题

    0. 背景 之前用 Nuxt 3 写了公司的官网,包括了样式.字体图标.图片.视频等,其中样式和字体图标放在了 assets/styles 和 assets/fonts 目录下,而图片和视频则放在了 ...

  10. 三、原理图生成网表并导入PCB放置元件

    1.生成网表 2.成功标志 3.新建PCB文件 4.导入网表至PCB 5.导入网表成功标志 6.创建.psm文件(绘制的封装格式为.dra文件,在PCB里面要以.psm的文件存在)  将丝印做成封装需 ...