百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

「第 36 期」前端食堂技术周刊 2020前端最新技术

yuyutoo 2024-10-22 18:38 1 浏览 0 评论

美味值:

口味:羊汤烩面

  • 食堂技术周刊仓库地址:https://github.com/Geekhyt/weekly

PC 端在仓库里看体验更好,顺手赏个 Star 是对食堂最大的支持。本期周刊视频版已在 B 站【前端食堂】同步发送,如果有喜欢看视频的堂友可以移步 B 站 进行观看。

本期摘要

  • pnpm v7.0.0
  • Node 对 ESM 的支持达到重要里程碑
  • 四月份登陆浏览器的新功能
  • VS Code April 2022
  • React 官方团队出手,补齐原生 Hook 短板
  • Firefox 将在 102 中支持 Import Maps
  • State of frontend 2022
  • JavaScript 框架的四个时代
  • 为什么 Node.js 比 PHP 更容易受到供应链攻击?
  • 从零开始构建 JavaScript Bundler

大家好,我是童欧巴。欢迎来到本期的前端食堂技术周刊,我们先来看下上周的技术资讯。

技术资讯

  1. pnpm v7.0.0

pnpm 发布了 v7.0.0,带来了大量的更新。如:不再支持 Node.js 12pnpm run <script> 脚本名称后的所有命令行参数都会传递给 argv 等等,更多细节请前往如上链接的官方 release 页面查阅。

  1. Node 对 ESM 的支持达到重要里程碑

Node.js 12 是最后一个非 ESM 版本,目前处于生命周期结束状态,这意味着 Node.js 对 ESM 的支持达到重要里程碑。

  1. 四月份登陆浏览器的新功能

在四月份,Chrome 101 和 Firefox 99 稳定版发布。

Chrome 101 中包含了更容易让人类使用的 hwb() 颜色函数、以及 Priority Hints 资源优先级加载控制。

Firefox 99 中包含 Navigator.pdfViewerEnabled,用于指示浏览器是否支持 PDF 文件的内联显示。

  1. VS Code April 2022 (version 1.67)

VS Code 发布了四月更新,此次更新亮点包括:

  • 资源管理器文件嵌套
  • 「设置」里的编辑器搜索过滤器
  • 括号对高亮着色
  • 切换嵌套提示
  • 拖放以创建 Markdown 链接
  • 提升插件作者的开发者体验
  • 新的 Rust 语言指南
  1. React 官方团队出手,补齐原生 Hook 短板

React 官方决定出手解决原生 Hook 的短板,这篇文章这两天被疯狂转发,我也在文中给出了一些补充。如果想要了解详情,大家可以前往阅读。

  1. Firefox 将在 102 中支持 Import Maps

Firefox 将在 102 版本中支持 Import Maps,它允许我们控制导入模块时获取哪些 URL。如果你还不了解 Import Maps,文中也给出了提案地址,请放心食用。

下面我们来看技术资料。

技术资料

  1. State of frontend 2022

又一份前端状态调查报告,来自 125 个国家,共 3703 份调查,还有 19 位前端技术专家分享他们的想法并对调查结果发表评论。

  1. JavaScript 框架的四个时代

这篇文章作者以自身多年的开发经历还原了 JavaScript 框架的发展历程,并划分出了四个时代。

  • 远古时代:无框架
  • 框架初期:Backbone.js、Angular 1、Knockout.js、SproutCore、Ember.js、Meteor.js
  • 以组件为中心的时代:React.js、Vue.js、Svelte、Polymer.js
  • 全栈框架:Next.js、Nuxt.js、Remix、SvelteKit、Gastby 和 Astro

读完后你会发现前端框架的发展潮流也是一个圈儿,兜兜转转一大圈后才感叹,还是前后端一体好。

众里寻他千百度,蓦然回首,那人却在灯火阑珊处。

  1. 为什么 Node.js 比 PHP 更容易受到供应链攻击?

这条链接是 Hacker News 上大家对这一问题的探讨。有一条回答欧巴认为比较靠谱,简要整理如下:

  • 首先,供应链攻击在所有开源生态系统中都存在,何况 JavaScript 的生态系统规模比其他任何生态系统都要庞大,所以即使是向包中注入恶意代码的小概率事件也可能会经常发生。
  • 其次,拿 Python 对比,因为经典问题“依赖地狱”的存在,导致 Python 维护人员在添加新的依赖项时要三思而后行,以免给用户带来“依赖地狱”的问题。但 Npm 包的维护者没有这样的限制,在某种程度上,更好的开发体验导致了整个模块的生态系统“太好了”。

PS:解释一下“依赖地狱”,在 Python 中,如果你有两个依赖 A 和 B,它们又依赖于不同版本的 C(@1.0.0、@2.0.0)。那么你就遇到“依赖地狱”的麻烦了,因为 Python 只能安装一个版本的 C,而 Npm 会帮你分别安装 C 的两个版本。

  1. 从零开始构建 JavaScript Bundler

Jest 作者的最新系列文章,并且配套视频,内容绝对硬核。

除此之外,他还写了《从零构建 JavaScript 测试框架》、《重新思考 JavaScript 基础架构》等系列文章。

好文推荐

下面来看一下好文推荐,本周推荐的好文是:

  1. Lerna 停止维护后,Monorepo 工具该怎么选?
  2. WebAssembly vs JavaScript

其他信息

  • Prisma 为 Rosetta Stone 筹集 4000 万美元
  • Logseq 获 410 万美元融资,加速开源神经元知识管理系统增长,构建新世界双链知识图谱
  • RustConf 2022 CFP
  • ESLint v8.15.0 released
  • Vue.js devtools 发布到 Edge store
  • Nuxt 3 RC 2
  • pnpm 文档翻译项目进度
  • Felix Krause 将他的“一生”放入一个数据库中

好了,以上就是本期的食堂周刊,观众老爷们如果觉得还不错,一键三连是对食堂老板最大的支持。

你的前端食堂,吃好每一顿饭。我们下期见。

相关推荐

mysql数据库如何快速获得库中无主键的表

概述总结一下MySQL数据库查看无主键表的一些sql,一起来看看吧~1、查看表主键信息--查看表主键信息SELECTt.TABLE_NAME,t.CONSTRAINT_TYPE,c.C...

一文读懂MySQL的架构设计

MySQL是一种流行的开源关系型数据库管理系统,它由四个主要组件构成:协议接入层...

MySQL中的存储过程和函数

原文地址:https://dwz.cn/6Ysx1KXs作者:best.lei存储过程和函数简单的说,存储过程就是一条或者多条SQL语句的集合。可以视为批文件,但是其作用不仅仅局限于批处理。本文主要介...

创建数据表:MySQL 中的 CREATE 命令深入探讨

数据库是企业日常运营和业务发展的不可缺少的基石。MySQL是一款优秀的关系型数据库管理系统,它支持数据的插入、修改、查询和删除操作。在数据库中,表是一个关系数据库中用于保存数据的容器,它由表定义、表...

SQL优化——IN和EXISTS谁的效率更高

IN和EXISTS被频繁使用在SQL中,虽然作用是一样的,但是在使用效率谁更高这点上众说纷纭。下面我们就通过一组测试来看,在不同场景下,使用哪个效率更高。...

在MySQL中创建新的数据库,可以使用命令,也可以通过MySQL工作台

摘要:在本教程中,你将学习如何使用MySQLCREATEDATABASE语句在MySQL数据库服务器上创建新数据库。MySQLCREATEDATABASE语句简介...

SQL查找是否&quot;存在&quot;,别再用count了

根据某一条件从数据库表中查询『有』与『没有』,只有两种状态,那为什么在写SQL的时候,还要SELECTCOUNT(*)呢?无论是刚入道的程序员新星,还是精湛沙场多年的程序员老白,都是一如既往...

解决Mysql数据库提示innodb表不存在的问题

发现mysql的error.log里面有报错:>InnoDB:Error:Table"mysql"."innodb_table_stats"notfo...

Mysql实战总结&amp;面试20问

1、MySQL索引使用注意事项1.1、索引哪些情况会失效查询条件包含or,可能导致索引失效如果字段类型是字符串,where时一定用引号括起来,否则索引失效...

MySQL创建数据表

数据库有了后,就可以在库里面建各种数据表了。创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性)约束的过程。后面也是通过SQL语句和Navicat...

MySQL数据库之死锁与解决方案

一、表的死锁产生原因:...

MySQL创建数据库

我的重点还是放在数据表的操作,但第一篇还是先介绍一下数据表的容器数据库的一些操作。主要涉及数据库的创建、修改、删除和查看,下面演示一下用SQL语句创建和用图形工具创建。后面主要使用的工具是Navica...

MySQL中创建触发器需要执行哪些操作?

什么是触发器触发器,就是一种特殊的存储过程。触发器和存储过程一样是一个能够完成特定功能、存储在数据库服务器上的SQL片段,但是触发器无需调用,当对数据库表中的数据执行DML操作时自动触发这个SQL片段...

《MySQL 入门教程》第 17 篇 MySQL 变量

原文地址:https://blog.csdn.net/horses/article/details/107736801原文作者:不剪发的Tony老师来源平台:CSDN变量是一个拥有名字的对象,可以用于...

关于如何在MySQL中创建表,看这篇文章就差不多了

数据库技术是现代科技领域中至关重要的一部分,而MySQL作为最流行的关系型数据库管理系统之一,在数据存储和管理方面扮演着重要角色。本文将深入探讨MySQL中CREATETABLE语句的应用,以及如何...

取消回复欢迎 发表评论: