做毕业设计,前端部分你需要掌握的6个核心技能

news2024/12/25 2:04:32

其实前端新手如果想要自己实现一套毕业设计项目并非简单的事,因为之前很多人一直还停留在知识点的阶段,而且管理系统和C端网站都需要开发,但现在需要点连成线了。所以在启动项目开发之前呢,针对前端部分,我列举一些非常必要的前端核心技能,希望你已掌握。 

手把手带你做一套毕业设计专栏目录:
手把手带你做一套毕业设计-征程开启
我应该把毕业设计做到什么程度才能过关?

 

 

目录

一、HTML

1. 熟知常用标签元素 

2. 熟练标签的使用 

3. 是否需要考虑HTML5标签部分

二、CSS

1.  CSS要熟练掌握

2. CSS3很重要 

三、Javascript

1. JS的基础点是什么

2. 原生DOM操作我需要熟练掌握吗?

3. ES6的使用

四、axios

1. axios请求 

2. 前后端联调注意点

五、vue

1. 基本使用 

2. 第三方组件

3. 进阶

六、webpack

1. 必要

2. 非必要


一、HTML

HTML说的更直白一些就是一堆翻来覆去的标签,嵌套来嵌套去的,但他又不仅仅是一些标签。那么在做毕业设计之前,该掌握到什么程度呢?

 

1. 熟知常用标签元素 

 咱们这里不是讲面试题,而是更考虑实用性,而且更加考虑你完成毕业设计项目的实用性上。所以要求也就没那么高了,而且我们会基于vue的技术栈进行开发页面,所以需要的是你掌握的熟练一些,自由一些即可。

例如已知的块元素DIV P ul li table ,而行内元素例如a span i button label等,当然,既然要做一套毕业设计的项目,form表单的知识点必不可少,input text checkout textarea这些你总是要熟练的吧。

<!-- 块元素 -->
<div></div>
<p></p>
<ul>
    <li></li>
</ul>
<table>
 <tr>
    <td></td>
 </tr>
</table>

<!-- 行内元素 -->
<a></a>
<i></i>
<label></label>

 HTML标签其实还是非常丰富的,可以满足多种丰富的场景,但很多其实是用不到的,或者也可以通过CSS去替代,久而久之,人们就不习惯用了。

 

2. 熟练标签的使用 

如何知道自己是否熟练掌握HTML标签元素的使用了呢?因为毕业设计的页面不会有人给你出,你需要去网上找类似的案例,但案例可能你还不会直接拿下来使用,所以就需要自己一点一点的去实现。

那么在看到你想要的页面的时候,你需要快速的在脑子里有个印象,比如他这个列表,我需要快速知道外部嵌套一个DIV元素,如果有标题我该用p标签或者其他标签去布局,列表区域我该用ul li去布局或者是一些其他元素。

其实你会发现,这些HTML标签虽然有语义化定义,而你一旦熟练使用后,想用什么用什么,用CSS直接定位,改样式就可以达到自己想要的样子。而到了这一步,基本你就算是HTML使用熟练了,就可以开始布局页面了。

3. 是否需要考虑HTML5标签部分

说实话,我觉得很多HTML5标签你暂时可以不用考虑,除非某些必要的地方,自己非常想用。但其实现在很多市面上的公司,他们天天口中喊着用户多多重要,其实产品辣鸡的不行,只要用户不闹到公司来就没事;而人们也一直喊着做H5页,我们用的HTML5技术,其实你去看吧。他代码里没啥真正的H5技术。因为HTML5至今仍然有一些他的弊端,这个我们后续再说。

二、CSS

CSS是必须要熟练掌握的技能,他是前端领域的核心中的核心。很多人的意识可能还停留在CSS是网页化妆师的阶段,但其实CSS除了可以美化网页,在页面样式管理,动画实现,甚至配合一些组件的实现上都起到了重要作用。

 

1.  CSS要熟练掌握

如果你后续准备做前端开发工作,那么CSS一定要做到熟练甚至精通,不过在做毕业设计这个阶段要求其实也没那么高,你需要做到常用的属性要熟知,可以不用去查笔记去百度,就可以手敲出来,例如如何定位,定位的基准点,设定宽高,宽高的父级元素又是多少,如果设定百分比父级的基准是都少,如何居中,垂直居中,色值,字体等等,这些都是信手拈来的。

但属性和属性值那么多,必定是有记不住的,其实我干了那么多年了,超出2行显示三个点省略我至今也没记牢,每次都得查笔记。其实这是没有问题的,一直到你面试前记一记就可以,哪怕面试过了你又忘记了都没问题。

// 超出2行显示...省略
.line2 {
    overflow: hidden;
    display: -webkit-box;
    /*设置子元素排列方式*/
    -webkit-box-orient: vertical;
    /*设置显示的行数,多出的部分会显示为...*/
    -webkit-line-clamp: 2;
    white-space: normal;
}

2. CSS3很重要 

现在基本大家越来越发现CSS3的优点了,而我们的毕业设计可能会用到CSS3的地方包括:

  • flex布局,而且越来越多的人喜欢上了flex布局,他的确是解决了很多原来float浮动的弊端;
  • 圆角border-radius,很多时候一个圆角边框的设定,可能会给你的页面加分不少;
  • 丰富的选择器,有时候页面元素很复杂,也许这些选择器可以帮你解决某个特殊元素单独样式的问题;
  • 旋转过渡,例如你想让自己页面中的按钮点击或者上移有个小效果,就可以用上这个技术点;
  • 动画,如果你的网页列表项加载时光过长,而又找不到合适的gif图,通过动画制作一个loading图将会是一个很好的选择。

如果你真的想毕业后做前端开发工作,建议你时刻保持着精进CSS以及CSS3的心态,因为不管面试,还是工作中,真的是很常用,很重要。甚至有的面试官他不问你过多的东西,他就喜欢盯着CSS问。

至于CSS3兼容性的问题,毕业设计阶段你可以暂不考虑,因为最终你交给老师的这个项目,他根本就不会启动起来细看,而你只要满足chrome浏览器即可。如果非要写的很兼容,恐怕真的是很浪费时间。

三、Javascript

JS将是前端开发工作绕不开的核心技术点,而也正是JS的计算,控制DOM,与浏览器交互,与服务端交互的能力,使得前端开发工作每天那么汹涌澎湃。

 

1. JS的基础点是什么

如果说为了做一套毕业设计,那么JS的基础点可能就是几种基本类型数据的使用,数组,对象,对于数据的处理,JSON的格式处理等,通过链接DOM对页面元素做一些操作,实现方法的定义。但我们准备使用vue技术栈,而且其实真正工作中,操作DOM的时候也会大大减少。

再结合上vue技术栈,相信你掌握这些技术点就已足够,不够的话可以去查资料嘛。至于所谓的算法题,我相信你做完一套毕业设计下来,也用不上几个,什么冒泡排序,二分法查找,相信我,你做毕业设计整个项目下来,几乎用不上。但如果涉及到一些数组,对象,JSON的数据格式转换,你一定要熟练,而且这也是家常便饭。

2. 原生DOM操作我需要熟练掌握吗?

说句大实话,我已经好久没有在项目中搞过原生DOM操作了,但其实对于一名前端开发人员来说,原生DOM操作这项技术是无论如何也不能丢的。但现实就是这样,从jq时代开始,人们就不断思考着如何绕过使用document.getElementByXX这一套东西,因为太麻烦,太啰嗦,有时候兼容性还不太好。

而到了vue时代,人们就更加为所欲为了,讲究数据驱动,改一改json数据,DOM就跟着动了,所以,很多原生DOM的创建元素,给元素加属性,获取innerHTML等,敲起来也有点生疏了,有时候闭着眼我也知道咋回事,但手上不会写。

所以,如果你是一名初学者,如果你准备做毕业设计,如果你今后准备做开发,愿生DOM操作是需要熟练掌握的,哪怕项目中不去用。因为只有你熟练掌握了,即便你今后用的很少,但在需要的时候可以快速拿起来。如果刚开始就绕过去了,那这会让你的成长过程某个阶段变为空白,像是失忆了一样。

3. ES6的使用

ES6比较常用的知识点有let const定义变量字符串模板的使用箭头函数解构赋值数组的一些新增APIpromiseclass类等。

但要知道不管ES6还是ES更多,他们都是在之前的基础上,不断解决痛点,不断更新的知识点,所以,如果你不用es6,一样可以把项目做完做好,但如果你用了ES6,只不过是可以做的更快速。要说ES6这些知识点是否重要,那肯定是很重要的,基本每天都会用,所以做毕业设计的时候你可以少了解一些,把时间更多用在项目上直接去使用;而如果你时间足够充裕呢,我更建议你不仅使用ES6知识,还要顺带着用ES5写一下,不用这个知识点,该如何去实现。

例如解构赋值其实就节省了大量的代码和时间,而且看着这样的写法是不是也优雅的多:

var obj = {
    name: '经海路大白狗',
    age: 18
}

var name = obj['name'];
var age = obj['age'];

// 但使用解构赋值
var { name, age } = obj;

四、axios

先不说axios,ajax这个词你习惯怎么读?a jia ke si 还是a zhai ke si ?axios基于ajax和prromise的封装,其实他更希望解决在HTTP请求前后端联调过程中的回调地狱问题。 

 

1. axios请求 

如果你对jquery比较熟, 做毕业设计引个jquey,用ajax老师也不会说什么,甚至我敢说,老师几乎不会审查你的代码。但这样毕竟有点low,我建议还是使用axios,而后续的专栏代码中,也会对axios进行封装,使HTTP请求看上去更加的简洁。

我之前记得问过一个人,我问promise解决了什么问题,他说解决了回调地狱问题。我问回调地狱是怎么产生的,带来了什么问题,使用promise又是如何解决回调地狱的问题呢?他也没有理我。我又问:那你说一下啥是回调地狱吧。他还是不理我,不管现在好了,我们可以问chatGPT了。

chatGPT一定是一个很忙碌的团队,团队里面打字员也一定非常多,每天和那么多人聊天,还得回复成篇成篇的东西,你猜他们的团队里有多少打字员才能满足和我们的无缝聊天?

// axios发送get请求:
axios.get('url地址', { params: {请求的参数对象}}).then(function(res){
  //.then()表示成功的回调
  console.log(res.data)  
})
/
// axios发送post请求:
axios.post('url地址', {要提交到服务器的数据}).then(function(res){
   console.log(res.data)   //res.data 是服务器返回的数据
})
/
// 直接使用axios发起请求:
axios({
     method: '请求类型',
     url: '请求的URL地址',
     data: { POST数据  },    //POST 数据要通过data属性提供
     params: { GET参数 }    //GET参数要通过params属性提供
     }) .then(function(res){
         console.log(res.data)
     })

 

2. 前后端联调注意点

前后端联调最重要的是什么?最重要的当然是平心静气的个人心态和积极向上的团队协作氛围。

因为前后端联调已经涉及到两个或者多个团队的事情了,一旦人多了就会有各种各样的事情发生。例如你们需要有接口文档,注意看请求的URL请求的类型是GET或者是POST,需要看请求入参是什么类型,紧接着你需要关注返回的HTTP code码,需要看返回的数据格式等等。

还有类似这样的返回格式,一定要规定好请求返回的code值与HTTP请求返回的区分:

{
    code: 10000067, // 此处的code值是需要提前商议好的
    data: {
        list: [
            {},{}...{}
        ]
    },
    message: '保存成功'
}

五、vue

 

1. 基本使用 

vue其实学习上手很简单,按照教程把脚手架安装起来,按照他的目录顺序开发即可。但本专栏仍然会将开发目录重新做一个整理,以便后续更丰富的功能迭代。

而你在做毕业设计的时候呢,除了安装使用,

  • 最需要了解的恐怕就是vue的生命周期了;
  • 然后就是template模板内的一些小规则,data的数据依赖如何和template中的字段进行绑定,v-for遍历列表如何使用;
  • script部分的方法定义该如何做,
  • 当然,如何动态绑定样式、class样式类也是必不可少的内容。

外加前面说到的HTML + CSS + JS知识,相信你会很快上手的。

但需要时刻谨记的是vue讲究数据驱动,当你需要操作一个HTML元素的时候,先思考改变的是data数据依赖的某个变量。

<template>
    <div>{{ name }}</div>
</template>

<script>
    export default {
      name: "myComponent",
      data() {
          name: '经海路大白狗',
      }
      created() {},
      mounted() {},
      methods: {
        changeName() {
            this.name = '还是经海路大白狗';
        }
      }
</script>

<style lang="less">
    div {
        width: 100px;
        height: 100px;
        border-radus: 4px;
    }
</style>

2. 第三方组件

做管理平台,你一定会用到第三方组件的,例如时间选择,例如列表展示,例如分页展示,例如弹框等等,推荐使用elementUI,但我告诉你,这个组件库已经好几年被人们所熟知了,虽然他维护团队有问题,虽然他的组件遇到某些场景会有问题,但我觉得做毕业设计这些功能,外加他丰富的功能以及文档,绝对够用,而且使用和上手也很简单。

3. 进阶

即便老师不会看你的代码,但你还是应该搞点新花样的,让老师觉得你是一个下功夫的好学生。那么怎么进阶呢。

当然是跟着狗哥把elementUI组件库一些比较好实现的自己实现一遍。这个时候你就可以在跟老师汇报的时候,或者论文中强调,自己设计的功能,第三方组件库无法满足要求,自己结合所学知识以及现有需求场景,实现了一套更加丰富的业务组件。

而且如果你可以把这一点写到简历上,我相信你一定会让面试官发现你的独特之处的。

六、webpack

 这里我说一下对于webpack的两点,一个是必要,一个是非必要。

 

1. 必要

对于现在的前端项目,webpack基本已经必不可少了,虽然未来也不免完全被其他工具所替代,但如果你完全掌握了webpack,至少毕业后找工作,应付日常工作绝对无忧。

所以你至少需要掌握几点:他是如何配置启动端口的,他的启动命令和打包命令是如何配置的,启动入口文件在哪里,打包出口在哪里,如果想用一个第三方webpack插件该怎么配置,如果想往npm库上传一个自己的组件该怎么做,以及一些对于项目静态资源优化的功能点,如果这些你都很熟练了,去找一找底层的实现教程,哪怕只是为了应付面试。这些都是基本的,也是必要去学去掌握的。

2. 非必要

其实webpack在你安装成功后,已经非常智能了,在哪里开发,如何打包。如果你只是想应付一下这次的毕业设计考试,感觉能过关把毕业设计做出来就行,webpack这些功能点其实大部分不用去管。最后做完了给老师一扔,反正我是做完了,我就不求甚解了怎么着吧,你还想拦着我不让我毕业咋地。我就是为了过关,我又不是为了拿奖

而且就算你最后真去了一家公司,你会发现,现有项目已经成性,就是迭代着做需求而已。webpack优化?不存在的,一年都碰不着他一次。

如果我这么说,你会不会感觉轻松很多呢?

如果你觉得狗哥的文字帮助到了你,点个赞,交个朋友,可好?

大家的「关注❤️ + 点赞👍 + 收藏⭐」就是我创作的最大动力!谢谢大家的支持,我们下文见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/380596.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

react lazyLoad学习记录

react lazyLoad学习记录1.lazyLoad用处2.使用2.1 react-router-dom5版本写法2.2 react-router-dom6版本写法1.lazyLoad用处 默认例如首页&#xff0c;如果有好十几个甚至百个路由&#xff0c;react是会默认一下全部把路由组件一下全部加载的&#xff0c;极可能造成页面卡顿。r…

mysql数据库之sql语句性能分析工具

一、sql执行频率。 mysql客户端连接成功后&#xff0c;通过show [session | global] status 命令可以提供服务器状态信息。通过如下指令&#xff0c;可以查看当前数据库的INSERT/UPDATE/DELETE的访问频次。 #一个下划线代表一个字符 show global status like com_; 二、慢查…

冲鸭!33% 程序员月薪达到 5 万元以上~

2023年&#xff0c;随着互联网产业的蓬勃发展&#xff0c;程序员作为一个自带“高薪多金”标签的热门群体&#xff0c;被越来越多的人所关注。在过去充满未知的一年中&#xff0c;他们的职场现状发生了一定的改变。那么&#xff0c;程序员岗位的整体薪资水平、婚恋现状、职业方…

注意,摸鱼程序员常用的9个小技巧,早点下班不秃头

9个养生小技巧&#xff0c;祝大家不秃头嗨害大家好鸭&#xff01; 我是小熊猫~毕竟摸鱼一时爽&#xff0c;一直摸一直爽嘛~一、整理字符串输入二、迭代器切片&#xff08;Slice&#xff09;三、跳过可迭代对象的开头四、只包含关键字参数的函数 (kwargs)五、创建支持「with」语…

【C/C++】getchar()在处理字符输入时的一个细节

1、当我们进行“输入”后&#xff0c;无论输入一个字符或者是一个数字、一个字符串。都会自动产生一个换行符&#xff0c;而这个不起眼的回车符(‘\n’)也是一个‘字符’。如果我们需要连续多次输入‘字符’&#xff0c;则需要在每次输入字符后&#xff0c;及时处理这个换行符。…

前端二面vue面试题总结

什么是 mixin &#xff1f; Mixin 使我们能够为 Vue 组件编写可插拔和可重用的功能。如果希望在多个组件之间重用一组组件选项&#xff0c;例如生命周期 hook、 方法等&#xff0c;则可以将其编写为 mixin&#xff0c;并在组件中简单的引用它。然后将 mixin 的内容合并到组件中…

如何使用BackupOperatorToDA将Backup Operators用户权限提升为域管理员

关于BackupOperatorToDA BackupOperatorToDA是一款功能强大的红队提权工具&#xff0c;该工具能够在不使用域控制器RDP或WinRM的情况下&#xff0c;帮助广大研究人员将Backup Operators组的成员账号提升为域管理员权限。 如果红队研究人员在渗透测试的过程中&#xff0c;拿到…

代码随想录之数组(力扣题号)

69 x的平方根 这题需要注意的点在于数据的数据范围导致计算x的平方可能会超过Integer范围 超出范围之后的大小判断就会出错 if(2147488281>2147395600) System.out.println("yes"); //没有输出 注意不能这样&#xff0c;会超出Integer范围解决&#xff1a;前面…

百度文心大模型开发者斩获CCF BDCI大赛唯一『最佳算法能力奖』

‍2023年2月24日至25日&#xff0c;中国计算机学会&#xff08;CCF&#xff09;主办、苏州市吴江区人民政府支持&#xff0c;苏州市吴江区工信局、吴江区东太湖度假区管理办公室、苏州市吴江区科技局、CCF大数据专家委员会及其他专业委员会等多家组织单位共同承办的大数据与AI领…

在C#中使用互斥量解决多线程访问共享资源的冲突问题

在阿里云上对互斥量的概述&#xff1a;互斥量的获取是完全互斥的&#xff0c;即同一时刻&#xff0c;互斥量只能被一个任务获取。而信号量按照起始的计数值的配置&#xff0c;可以存在多个任务获取同一信号量的情况&#xff0c;直到计数值减为0&#xff0c;则后续任务无法再获取…

王道操作系统课代表 - 考研计算机 第四章 文件管理 究极精华总结笔记

本篇博客是考研期间学习王道课程 传送门 的笔记&#xff0c;以及一整年里对 操作系统 知识点的理解的总结。希望对新一届的计算机考研人提供帮助&#xff01;&#xff01;&#xff01; 关于对 “文件管理” 章节知识点总结的十分全面&#xff0c;涵括了《操作系统》课程里的全部…

Python使用异步线程池实现异步TCP服务器交互

背景&#xff1a; 实现客户端与服务端交互&#xff0c;由于效率原因&#xff0c;要发送与接收异步&#xff0c;提高效率。 需要多线程&#xff0c;本文用线程池管理。 common代码&#xff1a; import pickle import struct import timedef send_msg(conn, data):time.sleep(…

centos7配置静态网络常见问题归纳

系列相似配置与安装软件问题整理与归纳文章目录 安装pymysql库_pymysql库安装_张小鱼༒的博客-CSDN博客 解决pip更新的代码_pip更新代码_张小鱼༒的博客-CSDN博客 python当中的第三方wxPython库的安装解答_pip install wx_张小鱼༒的博客-CSDN博客 spark里面配置jdk后的编程…

MATLAB算法实战应用案例精讲-【优化算法】增强型鲸鱼优化算法(EWOA)(附matlab代码实现)

前言 增强型鲸鱼优化算法(Enhanced Whale Optimization Algorithm,EWOA)是Mohammad H. Nadimi-Shahraki等人于2022年提出的一种改进算法。由于标准的鲸鱼优化算法及其它的改进算法都存在种群多样性低和搜索策略差的问题,因此引入有效的策略来缓解鲸鱼优化算法的这些核心缺点…

Licode—基于webrtc的SFU/MCU实现

1. webrtc浅析webrtc的前世今生、编译方法、行业应用、最佳实践等技术与产业类的文章在网上卷帙浩繁&#xff0c;重复的内容我不再赘述。对我来讲&#xff0c;webrtc的概念可以有三个角度去解释&#xff1a;&#xff08;1&#xff09;.一个W3C和IETF制定的标准&#xff0c;约定…

项目成本管理中的常见误区及解决方案

做过项目的人都明白&#xff0c;项目实施时间一般很长&#xff0c;在实施期间总有很多项目结果不尽人意的问题。要使一个项目取得成功&#xff0c;就要结合很多因素一起才能作用&#xff0c;其中做好项目成本的管理就是最重要的步骤之一&#xff0c;下面列出了常见的项目成本管…

Python进阶-----高阶函数map() 简介和使用

目录 简介&#xff1a; ​编辑 示例&#xff1a; 示例&#xff08;1&#xff09;&#xff1a;输出map()函数返回值&#xff08;迭代器&#xff09;结果 示例&#xff08;2&#xff09;&#xff1a;与循环对比 示例&#xff08;3&#xff09;&#xff1a;字符串转列表 示…

第九届蓝桥杯省赛——7缩位求和

题目&#xff1a;在电子计算机普及以前&#xff0c;人们经常用一个粗略的方法来验算四则运算是否正确。比如&#xff1a;248 * 15 3720把乘数和被乘数分别逐位求和&#xff0c;如果是多位数再逐位求和&#xff0c;直到是1位数&#xff0c;得2 4 8 14 > 1 4 5;1 5 65…

【C++】类与对象(一)

文章目录1、面向过程和面向对象初步认识2、类的引入3、类的定义4、类的访问限定符5、类的作用域6、类的实例化7、计算类对象的大小8、this指针9、 C语言和C实现Stack的对比1、面向过程和面向对象初步认识 C语言是面向过程的&#xff0c;关注的是过程&#xff0c;分析出求解问题…

算法练习-排序(一)

算法练习-排序(一) 文章目录算法练习-排序(一)1 排序算法1.1 冒泡排序1.1.1代码1.2插入排序1.2.1代码1.3 选择排序1.3.1代码1.4归并排序1.4.1代码1.5 快速排序1.5.1 思路1.5.2 代码2 题目2.1 特殊排序2.1.1 题目2.1.2 题解2.2 数组中的第k个最大元素2.2.1 题目2.2.2 题解2.3 对…