湖中剑 前端周刊 #11 | VSCode插件开发、策略模式、React Router 6、位运算技巧、Nuxt 3、打字机效果

周刊收集包括前端(但不限于前端)的文章、新闻、开源项目、工具等等,每周一更新。

📰 News

Parcel 2

Parcel 2由Rust重写,性能有了很大的提升,本次更新:

  • 🔌 全新的插件系统
  • 🌳 默认启用tree shaking,并支持ES modules、CommonJS、dynamic imports和CSS modules
  • 🚀 巨大的性能提升
  • ✂️ 自动code splitting
  • 🖼 图片尺寸变化、格式转化以及优化, 支持AVIF和WebP,以及对JPEG、PNG无损压缩
  • 等等

更多内容可以查看下面官方公告。

https://parceljs.org/blog/v2/

React Router 6

可能是发布前最后一个beta版。

  • 花了不少篇幅为 remix 实现中心配置式路由,<Router> + useRoutes 的组合,Umi 4 已切到这个版本
  • 提供 <Outlet /> 渲染子路由,不能用 props.children 了
  • 全面支持相对路径,子路由不用写父路由路径
  • 用 useNavigate() 进行编程式跳转
  • 不再提供 <Switch />,用 <Routes /> 代替
  • <Route index /> 表示 Index 路由
  • <Route /> 不能被封装,比如封装一个 <PrivateRoute /> 用于权限,取而代之的是 <Route element /> 的方式
  • <Routes /> 可以嵌套,嵌套在 <Route /> 下的 <Routes /> 会基于前者的 path,注意前者的 path 加 * 后缀,否则后者不匹配时会不显示
  • 不再提供 <Redirect />,推荐服务端判断了直接跳,小成本升级也可用 <Navigate replace to="/home" />,缺点是不支持服务端渲染

https://github.com/remix-run/react-router/releases/tag/v6.0.0-beta.7

Nuxt 3 Beta

Nuxt 3发布了beta版本,其中一个关键更新是引入了新的Server引擎,可以直接部署现有的多个云平台。

image

这个版本还支持Vue3和Vite,想了解更多的内容可以方面下面链接。

https://nuxtjs.org/announcements/nuxt3-beta/

📖 文章

新生代农民工也要懂的策略设计模式

俗话说,凡事讲策略。讲策略的时候,我们往往会考虑每种情况的成本。策略同样可体现在我们的代码之中,合理利用策略模式重构逻辑复杂的代码,会使项目工程更易维护和扩展。

https://mp.weixin.qq.com/s/nVlZ9V744DQUNiWBP0m8_Q

如何排查React中渲染慢的组件?

https://alexsidorenko.com/blog/react-performance-slow-renders/

React源码中的位运算技巧

https://mp.weixin.qq.com/s/zrfmXGHK4PG8B6pdGYO6Aw

AWS是如何将AWS SDK的JavaScript包发布大小减半

image

https://aws.amazon.com/cn/blogs/developer/how-we-halved-the-publish-size-of-modular-aws-sdk-for-javascript-clients/

JavaScript开发者都应该知道的33个概念

https://github.com/leonardomso/33-js-concepts

教你用CSS实现打字机效果

image

https://www.sitepoint.com/css-typewriter-effect/

在微前端中加载 Vite 应用

https://mp.weixin.qq.com/s/Pd9jQI6DOKJ16hVbLNKtOA

My Logging Best Practices

log的最佳实践。

https://tuhrig.de/my-logging-best-practices/

VSCode语言插件开发入门

VSCode 为何可以支持如此之多的编程语言?如何为一门新语言编写语言插件?又有哪些语言特性可以被应用呢?本次分享为大家介绍了 VSCode 提供的编程语言相关的能力,详细讲解了代码高亮原理、languages.* API、Language Server Protocol 等内容。

https://mp.weixin.qq.com/s/Eqb9hAvG-WeseP9rCl_XRg

从 fabric 源码来看如何做好一个 canvas 库

前言,本篇文章可以让你从 0 到 1 快速了解 canvas,了解 fabricjs 源码库的整体组织和关键核心代码。

https://mp.weixin.qq.com/s/OtKqeE0FnLLxHZUk02dj-w

🛠 工具、软件

react-spring

react-spring是基于spring-physics(弹簧物理)的react动画库,动画效果更加流畅、自然。

image

https://github.com/pmndrs/react-spring

Caroumesh: 轮播组件中展示3D内容

https://github.com/Adonis-Stavridis/caroumesh

Nice Modal

Nice Modal是一个轻量级、零依赖的模态框管理工具。使用context来全局持久化模态框的state,这样的方案可以让你很简单的控制模态框的显示和关闭。

import NiceModal from '@ebay/nice-modal-react';
import MyModal from './MyModal';

//...
NiceModal.show(MyModal, { someProp: 'hello' }).then(() => {
  // do something if the task in the modal finished.
});
//...

demo:https://ebay.github.io/nice-modal-react/

https://github.com/eBay/nice-modal-react

DOOM Rendered via Checkboxes

这是一个很有意思的项目,使用Checkboxes来渲染DOOM(《毁灭战士4》),让你在网页通过这种方式来玩游戏。

image

https://healeycodes.com/doom-rendered-via-checkboxes

AnyWebP

一个在线工具,可以把WebP转为JPG/PNG/ICO。

https://anywebp.com/

Animated Backgrounds

CSS和JS实现的带动画背景的效果合集。

https://animatedbackgrounds.me/

Doodle Ipsum

「Doodle Ipsum」是一个以涂鸦作为测试图片产生器的在线工具。

提供各种不同样式的插图素材,用户可以在选择样式(或随机)、指定大小比例和背景颜色后产生图片链接,就能将产生的图片运用在网页开发原型、登陆页面或是任何无代码工具(No-code tool),例如拥有所见即所得效果的网页编辑器。

https://doodleipsum.com/

Sapling:展示React组件树形结构的VS代码扩展

随着React项目的大小和复杂性的增加,查看页面组件的结构是个费时费力的事情。Sapling在VS Code侧栏中添加了一个依赖关系树,用于展示组件的依赖书,并提供跳转到文件的功能。

介绍文章:https://www.scien.cx/2021/10/09/introducing-sapling-a-vs-code-extension-for-traversing-your-react-component-hierarchy/

https://marketplace.visualstudio.com/items?itemName=team-sapling.sapling


周刊首发于GitHub,欢迎订阅:

我的周刊

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,699评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,124评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,127评论 0 358
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,342评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,356评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,057评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,654评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,572评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,095评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,205评论 3 339
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,343评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,015评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,704评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,196评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,320评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,690评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,348评论 2 358