噢!原来这就是 TypeScript

峰华

峰华

前端工程师 / B站UP主

简介

我第一次使用 TypeScript 是 16 年在读研的时候,学校的算法课是使用 TypeScript 实现的。当时只知道 TypeScript 是 Angular 开发的必备语言,没想到还能这么通用。后来在写作业的时候,发现 TypeScript 也并不是特别难,只不过是给 JavaScript 加上了类型信息,让代码不那么容易出错,并且支持高级的面向对象编程范式,让 JavaScript 变得跟 Java/c# 差不多。接下来,这篇文章就给你揭开 TypeScript 的面纱,对它来一个宏观上的认识,然后介绍一下如何编写并运行 TypeScript 程序,如何定义类型,另外假设你有 JavaScript 基础。

前后端通信之 HTTP 协议

峰华

峰华

前端工程师 / B站UP主

B 站视频 - 点击传送

简介

前后端数据的交换一般是基于 HTTP 协议。

HTTP 协议包括客户端和服务端两个实体,客户端发送请求给服务端,服务端返回响应给客户端。

在 HTTP 中,数据称为资源,可以是 html 文档、图片、也可以是普通文本。资源是通过 URL 进行定位的。

5个技巧助你成为 CSS 大神

峰华

峰华

前端工程师 / B站UP主

B 站视频 - 点击传送

简介

作为一名前端工程师,经常在写完 HTML 以后,才觉得真正的噩梦要开始了,啊,写 CSS 的时候,面对满屏乱飞的组件,真想手动给他们挪到该在位置上……

都说 CSS 很难掌握,最愁给页面编写样式,其实都是因为还没有形成一个对 CSS 宏观的了解,只要有了正确的学习方法、设计思维,再通过不断的积累,就能轻松的掌握它。接下来我会把掌握 CSS 的 5 个技巧整理一下,让你在以后编写 CSS 的时候不再发愁。

样式调整

CSS 最基本的功能就是调整 HTML 的样式,可以设置元素的宽高、字体的颜色、大小和间距、背景颜色或图片等。这些跟传统的富文本编辑器比如 word 是一样的效果。有些属性可以一次性设置多个项目,比如background可以同时设置:

  • background-color
  • background-image
  • background-origin
  • background-position
  • ...等等

action

业余时间经常到像 mdn 之类的文档网站上去查它们的用法,能长不少见识。

CSS Flexbox 布局教程 2020 最新版

峰华

峰华

前端工程师 / B站UP主

在 CSS flexbox 布局出现以前,如果要控制 HTML 元素的布局,要用到很多种奇葩的方式。在水平方向上得用float控制左右对齐,稍一不注意,就会有浮动的元素飞来飞去~。在垂直方向上就更是百家争鸣了:要么手动计算高度然后算出中心点,要么用 line-heightheight 的结合,要么用十之八九不生效的 vertical-align 属性等等等等。自从 flex-box 出现以后,一切似乎就豁然开朗了,水平垂直各种花式对齐,空间分配由你做主。当然,要用好它,用对它也不是一件容易的事,今天就给你说说 flex-box 布局,看完之后你也能熟练的运用它!(博客中的示例都是真实的 HTML 代码,可以使用 chrome 开发者工具查看属性。(此文为了演示某些 flex 示例,在小屏幕下会有横向滚动条)

CSS 选择器优先级(特异性、权重)详解

峰华

峰华

前端工程师 / B站UP主

在写 CSS 的时候你一定遇到过有些样式明明写对了,也选择了正确的 html 元素去应用这些样式,可是就是不生效,这是为什么呢?因为在选择同一个 HTML 元素的时候,不同的选择器有不同的优先级,优先级低的选择器的样式会被优先级高的覆盖。

什么是 CSS 选择器优先级

CSS 选择器优先级,也叫特异性,是指在给 HTML 元素应用样式时,如果有多个 CSS 选择器同时指向了这个元素,那么优先级高的选择器的样式会最终应用到这个元素上。

制作渐变背景生成器 - React State和Event教程

峰华

峰华

前端工程师 / B站UP主

Hello, 今天教你写一个渐变背景生成器。我会用这个例子来解释 react 的 state,状态管理,还有事件处理。

你将学到的

这个小工具提供了两个颜色选择器,分别可以选择渐变的两个颜色,渐变的角度是 75 度,线性渐变。另外还有一个重置按钮可以把渐变恢复成初始值。

效果演示:

源码:Github - React-Examples

示例和视频

State 简介

首先看一下什么是 state,上篇文章讲了 props:

  1. 用来给组件传递参数,组件会根据这些 props 来控制它自己生成的 html
  2. 它的值不会发生变化,只要传给他的一个固定的值,那么它就会永远是这个值。

如果想让一个属性根据条件发生变化的话。那么这里就要用 state 状态。状态就是说这个组件可能在某一个时间或者是发生了什么事件之后,会发生一些变化,就拿这个例子来说,咱们要展示一个渐变的背景,那么这个背景颜色就要根据用户所选择的颜色来发生改变,这个颜色因为是变化的,所以说它就要定义成一个 state,它的值是在用户选择完颜色之后来进行更新的。

使用 State 跟普通 JavaScript 相比,它的好处是:

  • 在组件内部管理状态,代码封装性好,出错的话也容易定位到问题组件。
  • 数据和展示分离,只需要修改 state 的值,就能更新对应的组件。
  • state 可以通过 props 向下传递给其他组件,只要 state 改变,所有使用它的组件都会刷新。

接下来看一下这个例子怎么实现。

一组美丽的按钮 - React Props 教程

峰华

峰华

前端工程师 / B站UP主

你在写 HTML 页面的时候肯定知道,html 标签的属性都是固定的,比如 a 标签的 href, input 里边的 type 属性。这些属性都是内置的,不方便扩展和复用。而用 React 创建组件的话,可以给它定义一些更符合语义和逻辑的属性,比如颜色、尺寸等。这些属性在 React 里边叫做 props,你可以自己定义这些属性将会影响到组件的哪些部分。这样的一个组件,通过给它一个合适的名字,比如 Button,那么所有按钮的展现都可以用它来实现,只需要改变它的属性就可以展示为不同的样式。那今天我就教你定义一个这样的按钮组件,它有默认的背景色、文字颜色、还有实心和线框样式,后边通过属性,props,来控制它是蓝色、红色还是黑色,然后利用另一个属性来控制它是实心的背景还是线框的。好,那咱们开始吧。

你将学到的

上一张效果图:

带你走进React的大门 - 你为什么应该学React?

峰华

峰华

前端工程师 / B站UP主

B 站视频 - 点击传送

Hello! 今天来带你走进 React 的大门!我第一次听说 React 是我在美国读研的时候,室友选了 web programming 这节课,然后遇到了关于 react 的好多问题,就是总也配置不好。我看他那个时候 React 的配置特别麻烦,要引入一堆依赖,像 bower, babel 等等... 还有文档写的也不清楚。有一次他刚开始做一个作业,问了我一个问题,大概是有一个组件显示不出来,结果看了半天我也不知道是怎么回事啊,因为我也没学过。后来他自己研究出来了,是因为这个组件在使用的时候没有大写。我当时就觉得这个 React 好复杂呀,然后就决定,我可不学他,后来我在暑假里面就学了 vue,但是回国之后呢,因为某些原因我就没有找后端的工作,转向了前端,当时又看这个 react 已经变得特别方便了,有一个 create react app 工具,就能省好多事儿,而且 react 的生态圈又特别的庞大,就决定学了 react。因为我觉得这个 react 开发大型的前端应用特别方便,尤其是它出了 hooks 之后。所以,我今天想给你分享一下。这个 react 到底是什么东西?它有什么好处?

超简单!使用 Docusaurus 搭建个人博客(二)

峰华

峰华

前端工程师 / B站UP主

B 站视频 - 点击传送

如果你看了上期视频的话,那么你应该学会了怎么在本地搭建一个 docusaurus 博客,但是你不能只在本地来看这个博客吧,得让全世界来欣赏你的杰作,所以说咱们得把这个博客部署到服务器上。部署有两种方式:

  • 部署到国外,是免费的。
  • 部署在国内,需要自己购买一个域名,还有服务器,大概有个 300 来块钱就差不多了。