前面介绍了三剑客(HTML,CSS,JavaScript),Axios和Vue,本篇将带你快速了解并使用Element组件库以及了解Nginx项目打包部署流程。

一、Element

1、概述

Element是饿了么团队研发的,一套为开发者、设计师和产品经理准备的基于Vue 2.0的桌面端组件库。
Element官方网站:https://element.eleme.cn/#/zh-CN

组件:组成网页的部件,例如超链接、按钮、图片、表格、表单、分页条等等。

2、快速入门

1)安装ElementUI组件库
在当前工程的目录下,右键打开终端

在终端下输入如下命令进行安装

1
npm install element-ui@2.15.3


2)引入ElementUI组件库
将下述代码加入main.js文件中。

1
2
3
import ElementUI from "element-ui" ;
import "element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);


在 views目录下新建一个element目录,并在该目录下新建一个 ElementView.vue文件,用于编写本次快速入门的代码

3)访问官网,复制组件代码,并调整
这里我们选择一组按钮,复制其代码。当然,还有很多其他组件,可查看官方文档自行替换。

官方文档:https://element.eleme.cn/#/zh-CN/component/installation


黏贴到ElementView.vue文件的<div>标签中,并调整一下格式

注:选中多行,按 tab,多行会同时缩进,提高调整效率。


这时候运行还没有效果,因为还要在App.vue根组件中引用ElementView.vue中的内容。如下

点击NPM脚本中的三角形小按钮运行项目,浏览器中访问得到的地址 http://localhost:7000/ , 成功显示如下。

3、常用组件

常用组件的学习比较简单,因为官方文档中提供了各种组件的代码,只需根据需要复制修改即可。

官方文档:https://element.eleme.cn/#/zh-CN/component/installation

3.1 Table 表格

用于展示多条结构类似的数据,可对数据进行排序、筛选、对比或其他自定义操作。

以带边框表格为例。
1)在官方文档中找到 组件 ->Table表格 ->带边框的表格,复制代码到我们的ElementView.vue文件中,按 ctrl+alt+l 格式化一下,这样看起来更加规整。
2)再回去复制表格对应的data数据。

3)查看运行效果

注:如果有某些参数不懂的,可以查看官方文档里面的参数说明,非常全面和详细,部分如下。

3.2 Pagination 分页

当数据量过多时,使用分页分解数据。

以带有背景色的分页为例。
1)在官方文档中找到 组件 ->Pagination分页 ->带有背景色的分页,复制代码到我们的ElementView.vue文件中,按 ctrl+alt+l 格式化一下,这样看起来更加规整。

1
2
3
4
5
<el-pagination
background
layout="prev, pager, next"
:total="1000">
</el-pagination>

2)浏览器查看效果

注:如果有某些参数不懂的,可以查看官方文档里面的参数说明,非常全面和详细,部分如下。


可以参考官方文档的参数说明,自行设置展示的效果,比如,设置原来代码中的 layout如下

1
2
3
<!-- Pagination分页 -->
<el-pagination background layout="sizes, prev, pager, next, jumper, total" :total="1000">
</el-pagination>


则浏览器查看效果为

3)其他
可根据需要自行查看或设置其他附加功能,照猫画虎,这里不再赘述。

设置Events事件触发

3.3 Dialog 对话框

在保留当前页面状态的情况下,告知用户并承载相关操作。

以自定义内容为例。

Dialog 组件的内容可以是任意的,甚至可以是表格或表单

1)在官方文档中找到 组件 ->Dialog对话框 ->自定义内容,复制代码到我们的ElementView.vue文件中,按 ctrl+alt+l 格式化一下,这样看起来更加规整。

1
2
3
4
5
6
7
8
9
10
<!-- Table -->
<el-button type="text" @click="dialogTableVisible = true">打开嵌套表格的 Dialog</el-button>

<el-dialog title="收货地址" :visible.sync="dialogTableVisible">
<el-table :data="gridData">
<el-table-column property="date" label="日期" width="150"></el-table-column>
<el-table-column property="name" label="姓名" width="200"></el-table-column>
<el-table-column property="address" label="地址" width="200"></el-table-column>
</el-table>
</el-dialog>

易知需要 dialogTableVisible和 gridData两个数据模型。再将含有这两个的代码复制过来,如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
gridData: [{
date: '2016-05-02',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-04',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-03',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}],
dialogTableVisible: false,


2)浏览器查看效果
当点击蓝字时,就会弹出一个对话框,如下。

注:通过 visible.sync=”dialogTableVisible”控制对话框的显示与隐藏,如果 dialogTableVisible = true,就代表显示对话框,为 false则隐藏。

初始dialogTableVisible是默认设定为 false的,由于绑定了事件,所以当我们一点击它时,就变成为我们设置的 true了。

3.4 Form 表单

由输入框、选择器、单选框、多选框等控件组成,用以收集、校验、提交数据

以典型表单为例,其包括各种表单项,比如输入框、选择器、开关、单选框、多选框等。

注:更多内容可以参考官方文档,里面有详细介绍和说明,照猫画虎即可,这里不再长篇赘述。

二、Vue路由(vue Router)

vue Router 是Vue的官方路由。

前端路由:URL中的 hash(#号)与组件之间的对应关系。

1、概述

1.1 组成

  • VueRouter:路由器类,根据路由请求在路由视图中动态渲染选中的组件
  • <router-link>:请求链接组件,浏览器会解析成<a>
  • <router-view>:动态视图组件,用来渲染展示与路由路径对应的组件

2、使用步骤

2.1 安装

因为我们创建Vue项目时已选择了开启路由,所以此步可以忽略。如果没有开启的,在项目的终端运行如下代码

1
npm install vue-router@3.5.1 

2.2 定义路由

如下图

三、打包部署

1、打包

在NPM脚本下选择build进行打包,打包后的文件会放在 dist目录下,如下

在项目下找到 dist目录,右键 ->在文件资源管理器中显示,只需要将 dist目录下打包后的资源部署在服务器上就可以了。

2、部署

2.1 Nginx介绍

Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。

特点:占有内存少,并发能力强,在各大型互联网公司都有非常广泛的使用。

官网:https://nginx.org/en/

2.2 Nginx下载

1)下载压缩包并解压
进入官网下载,找到 download,选择需要的版本下载即可,比如下载稳定版。

下载好后,将其复制到一个没有中文的目录下(比如我的是D盘根目录下),右键 ->解压到当前文件夹。

2.3 Nginx目录说明

2.4 部署

部署:将 nginx原来html目录下的两个文件删除,并将打包好的dist目录下的文件,复制到nginx安装目录的 html目录下。

2.5 启动

启动:双击 nginx.exe文件即可,Nginx服务器默认占用80端口号

注:由于 nginx默认占用80端口,如果80端口被占用,可以在 nginx.config中修改端口号


查看端口号的占用情况

1
netstat -ano | findStr 80

2.6 访问

由于80端口经常存在被占用的情况,于是我将80端口改为了90,再次启动nginx,并在浏览器输入:http://localhost:90

注:如果修改的是其他端口,访问对应的端口就行。

大功告成!界面如下