大数据毕业设计之前端01:我的前端之路

初遇前端

初次接触前端还是2016年,那一年暑假心血来潮,在网易云课堂上学着前端三剑客(html、js、css)。18年毕业,把用各色水笔手写的花花绿绿笔记寄回家里,投身奔赴后端与大数据开发的征程。

遥记18年的毕业设计,是在网上找了个模板,用bootstrap和jQuery改造了几个前台展示页面,这也是唯一曾经"上过台面"的前端项目。

纸上得来终觉浅

工作之后学完大数据开始学习vue,看完视频教程、做完笔记,自我感觉笑问天下谁敌手,什么都会了。直到有一天,真的想要做一个前端项目的时候,想改一下从网上找的模板,才发现无从下手。

还记得在javaweb接触项目的时候,前端和Java后端代码放在了一个项目里。后来再学前端,已经走上了前后端分离的道路。又开始学Node,Vue、Vue-Router,笔记依旧记得满当。当真的去开发一个项目的时候,这些组件该怎么用,用在什么地方都不知道。

有一天,在ElementUI的网站上,看到了BuildAdmin开源项目,于是开始打算从项目入手。先了解项目中的技术,然后通过官网深入学习。

在拆解还原BuildAdmin的过程中,虽然很多地方都是用了项目中的代码,但是我都是研究学习并了解其中含义之后才会使用。包括这块代码属于哪个模块,哪里引用了这些代码,实现原理是什么等等,我在文章中都有体现。

这是我从BuildAdmin学习前端中做过的笔记,包括项目中用到的技术栈、对各个模块实现的拆解,以及开发中遇到的问题等等,在走走停停的学习过程中,回头看有些许收获。

BuildAdmin

1. 项目文档

项目文档:https://wonderful-code.gitee.io

代码仓库地址:https://gitee.com/wonderful-code/buildadmin

先看BuildAdmin的源代码和文档。同时在项目文档中,可以直接跳转到演示网站。

从gitee上的源代码看,整个项目分为前端和后端,前端用的Node和Vue的技术栈,后端使用的PHP吧你,后端打算用Java或者Node替换掉,这里只关注一下前端技术。

2. 前端技术选型

BuildAdmin基于Node,项目使用了vite构建工具,我用的是webpack。主要使用的技术如下,可以进入各自的官网直接学习。

1. Vue3

好久之前学的是Vue2,现在Vue3提供了很多简便的语法糖,例如setup等,同时提供了组合式API的开发模式,省去了很多代码。

2. Element Plus

UI框架使用Element Plus,布局、菜单、icons等都囊括其中,官方文档提供了完整样例代码。

3. Vue-router

路由使用Vue-router,实现菜单的动态路由等功能

4. pinia

BuildAdmin用pinia来实现状态管理,本来打算使用VueX,后来换成Pinia,其实大同小异。

5. TypeScript

JS语言,而且ES语法要用babel编译器。

6. Axios

向后台发起异步请求,例如菜单列表、权限等数据。

7. SCSS

CSS预处理器,这里选择Sass,我刚开始使用的Less,后来又学的Sass,与原生css不同的是,可以定义变量、逻辑运算等。

结语

作为前端之路的开篇,主要讲了自己学习前端的一些经历,以及后面的学习思路和技术选型。其中涉及的前端技术,在项目开始之前可以去官网,了解一下基本功能,后面可以跟着项目的实践来深入学习。

下一篇开始讲BuildAdmin的项目架构以及代码开发。

相关推荐
Mephisto.java几秒前
【大数据学习 | kafka高级部分】kafka的kraft集群
大数据·sql·oracle·kafka·json·hbase
Mephisto.java3 分钟前
【大数据学习 | kafka高级部分】kafka的文件存储原理
大数据·sql·oracle·kafka·json
别拿曾经看以后~23 分钟前
【el-form】记一例好用的el-input输入框回车调接口和el-button按钮防重点击
javascript·vue.js·elementui
我要洋人死26 分钟前
导航栏及下拉菜单的实现
前端·css·css3
科技探秘人37 分钟前
Chrome与火狐哪个浏览器的隐私追踪功能更好
前端·chrome
科技探秘人38 分钟前
Chrome与傲游浏览器性能与功能的深度对比
前端·chrome
JerryXZR43 分钟前
前端开发中ES6的技术细节二
前端·javascript·es6
七星静香1 小时前
laravel chunkById 分块查询 使用时的问题
java·前端·laravel
ycsdn101 小时前
Caused by: org.apache.flink.api.common.io.ParseException: Row too short:
大数据·flink
q2498596931 小时前
前端预览word、excel、ppt
前端·word·excel