2023年的十件前端大事,与我们息息相关~

前言

大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心~

CSS 原生支持嵌套语法

以前我们使用 css 需要用到选择器的时候,只能是这么写,这样会导致编写很多重复的样式,可读性以及编写体验都很差:

CSS 的原生嵌套语法在Chrome 112版本中正式支持了,支持嵌套的样式规则允许我们将规则嵌套在父选择器中,而不需要重复写父选择器,这样就可以极大简化 CSS 的编写,让代码更具有可读性:

document.domain 只读

Chrome 112 中,document.domain正式被规定为只读,也就是不能修改

那些通过修改 document.domain 来解决跨域问题的场景,需要修改方案了,例如 postMessage

Vue2.x 停止维护

Vue 2 的终止支持日期是 2023 年 12 月 31 日。在这之后 Vue 官方团队会停止对于 Vue2.x 的后续维护

你可以选择升级 Vue3.x 版本,或者选择付费的方式,以获得继续维护 Vue2.x 的服务,官方有推出这一项服务

Vue3.3 的发布

2023 年 5 月 11 号,Vue3.3 正式发布,主要更新的功能有

  • defineProps 宏支持引入类型,并且支持解构
  • defineEmits 宏更简便的写法
  • 使用 <script setup> 的组件现在可以通过 generic 属性接受泛型类型参数,也可以使用多个参数,extend 约束、默认类型和引用导入的类型
  • defineModel 实现自定义组件双向绑定
  • defineOptions、defineSlots这些非常好用的 API

Typescript 5.x

Typescript 在 2023 年发布了 5.0,5.1,5.2,5.3 版本,主要做了以下功能的改变

  • 全新的装饰器
  • 泛型参数的常量修饰
  • 支持extends合并多个配置文件
  • 枚举增强
  • moduleResolution 配置新增 bundler支持
  • 自定义解析标志
  • 新增类型导入导出指令 --verbatimModuleSyntax
  • 支持导出 export type *
  • JSDoc 新增 @satisfies 支持
  • JSDoc 新增 @overload 支持
  • 运行 tsc --buid 时可以传入的新指令
  • 编辑器中不区分大小写的导入排序
  • switch 语法补足
  • 优化速度、内存和包大小

Typescript 已死?

很多人都在唱衰 Typescript,甚至很多开源项目已经放弃使用 Typescript,他们认为使用 Typescript 会给开发造成负担,例如 Svelte、Turbo

Vite4.x、5.x 发布

Vite 在 2023 年发布了多个 4.x 以及 5.x 版本

  • 4.x: 修复一些热更新的问题,提升了 source map 的调试体验,提升整体的热更新的性能,加快了 css 转换的速度
  • 5.x: 删除一些之前不推荐使用的 API,Nodejs18+ 成为必须版本,CJS Node API 已被弃用

Nodejs20 发布

主要更新了以下功能:

  • 权限模型
  • 同步import.meta.reslove
  • 构建可执行的独立包
  • V8引擎升级到11.3
    • 引入 String.prototype.isWellFormed 和 toWellFormed
    • Array 和 TypedArray 支持返回新建数组对象
    • 支持 Resizable ArrayBuffer 和可增长的 SharedArrayBuffer
    • 正则支持v标志,这种新模式解锁了对扩展字符串类的支持
    • WebAssembly尾调优化
  • 它还有两项能力:稳定的测试运行、Ada升级到2.0

Nuxt 更新版本

2023年,Nuxt 发布了多个 3.x 版本

  • 在 5 月 16 号,3.5 版本发布,主要支持了 Vue3.3
  • 在 6 月 23 号,3.6 版本发布,主要带来了性能优化
  • 在 8 月 25 号,3.7 版本发布,主要是命令行工具的更新
  • 在 10 月 19 号,3.8 版本发布,主要是带来了内置的开发者工具

Rspack 发布

字节跳动与 Valor 软件开源了Rspack,这是一款由Rust编写的 Web 捆绑,意在用更快、更直接的方式取代 Webpack。部分早期基准测试表明,Rspack 的冷启动时间有十倍的提升。字节跳动对其的开发主要为缓解 Rspack 在部分场景下生产构建时间长达十分钟至半小时,冷启动时间可超数分钟的问题。为降低迁移成本并维持 Webpack 配置机制所提供的灵活性和生产优化。

Rspack 的功能设计如下:

  • 快速启动:基于 Rust 的飞快构建速度,为你带来极致的开发体验。
  • 模块热替换 (HMR):内置增量编译机制让 HMR 速度飞快的同时 ,也完全能胜任大型应用的开发
  • 与 Webpack 的互操作性:与 Webpack 架构和生态系统相兼容,无需重新建立生态系统
  • 内含电池:开箱即用的 TypeScript、JSX、CSS、CSS Modules、Sass 等支持
  • 生产优化:内置多项默认优化策略,如摇树优化、最小化等等
  • 框架无关:不受限于任何前端框架,确保足够的灵活性

结语 & 加学习群 & 摸鱼群

我是林三心

  • 一个待过小型toG型外包公司、大型外包公司、小公司、潜力型创业公司、大公司的作死型前端选手;
  • 一个偏前端的全干工程师;
  • 一个不正经的掘金作者;
  • 一个逗比的B站up主;
  • 一个不帅的小红书博主;
  • 一个喜欢打铁的篮球菜鸟;
  • 一个喜欢历史的乏味少年;
  • 一个喜欢rap的五音不全弱鸡

如果你想一起学习前端,一起摸鱼,一起研究简历优化,一起研究面试进步,一起交流历史音乐篮球rap,可以来俺的摸鱼学习群哈哈,点这个,有7000多名前端小伙伴在等着一起学习哦 --> 摸鱼沸点

相关推荐
bysking26 分钟前
【前端-组件】定义行分组的表格表单实现-bysking
前端·react.js
王哲晓42 分钟前
第三十章 章节练习商品列表组件封装
前端·javascript·vue.js
fg_4111 小时前
无网络安装ionic和运行
前端·npm
理想不理想v1 小时前
‌Vue 3相比Vue 2的主要改进‌?
前端·javascript·vue.js·面试
酷酷的阿云1 小时前
不用ECharts!从0到1徒手撸一个Vue3柱状图
前端·javascript·vue.js
微信:137971205871 小时前
web端手机录音
前端
齐 飞1 小时前
MongoDB笔记01-概念与安装
前端·数据库·笔记·后端·mongodb
神仙别闹1 小时前
基于tensorflow和flask的本地图片库web图片搜索引擎
前端·flask·tensorflow
aPurpleBerry2 小时前
JS常用数组方法 reduce filter find forEach
javascript
GIS程序媛—椰子2 小时前
【Vue 全家桶】7、Vue UI组件库(更新中)
前端·vue.js