湖中劍 前端周刊 #11 | VSCode插件開發(fā)概荷、策略模式、React Router 6碌燕、位運算技巧误证、Nuxt 3继薛、打字機效果

周刊收集包括前端(但不限于前端)的文章、新聞雷厂、開源項目、工具等等叠殷,每周一更新改鲫。

?? News

Parcel 2

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

  • ?? 全新的插件系統(tǒng)
  • ?? 默認啟用tree shaking像棘,并支持ES modules、CommonJS壶冒、dynamic imports和CSS modules
  • ?? 巨大的性能提升
  • ?? 自動code splitting
  • ?? 圖片尺寸變化缕题、格式轉(zhuǎn)化以及優(yōu)化, 支持AVIF和WebP,以及對JPEG胖腾、PNG無損壓縮
  • 等等

更多內(nèi)容可以查看下面官方公告烟零。

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

React Router 6

可能是發(fā)布前最后一個beta版。

  • 花了不少篇幅為 remix 實現(xiàn)中心配置式路由咸作,<Router> + useRoutes 的組合锨阿,Umi 4 已切到這個版本
  • 提供 <Outlet /> 渲染子路由,不能用 props.children 了
  • 全面支持相對路徑记罚,子路由不用寫父路由路徑
  • 用 useNavigate() 進行編程式跳轉(zhuǎn)
  • 不再提供 <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發(fā)布了beta版本样屠,其中一個關鍵更新是引入了新的Server引擎,可以直接部署現(xiàn)有的多個云平臺缺脉。

image

這個版本還支持Vue3和Vite痪欲,想了解更多的內(nèi)容可以方面下面鏈接。

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

?? 文章

新生代農(nóng)民工也要懂的策略設計模式

俗話說攻礼,凡事講策略业踢。講策略的時候,我們往往會考慮每種情況的成本礁扮。策略同樣可體現(xiàn)在我們的代碼之中知举,合理利用策略模式重構邏輯復雜的代碼瞬沦,會使項目工程更易維護和擴展。

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包發(fā)布大小減半

image

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

JavaScript開發(fā)者都應該知道的33個概念

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

教你用CSS實現(xiàn)打字機效果

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語言插件開發(fā)入門

VSCode 為何可以支持如此之多的編程語言逛钻?如何為一門新語言編寫語言插件?又有哪些語言特性可以被應用呢锰提?本次分享為大家介紹了 VSCode 提供的編程語言相關的能力曙痘,詳細講解了代碼高亮原理、languages.* API立肘、Language Server Protocol 等內(nèi)容边坤。

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內(nèi)容

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

Nice Modal

Nice Modal是一個輕量級超燃、零依賴的模態(tài)框管理工具耸峭。使用context來全局持久化模態(tài)框的state,這樣的方案可以讓你很簡單的控制模態(tài)框的顯示和關閉淋纲。

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(《毀滅戰(zhàn)士4》),讓你在網(wǎng)頁通過這種方式來玩游戲洽瞬。

image

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

AnyWebP

一個在線工具本涕,可以把WebP轉(zhuǎn)為JPG/PNG/ICO。

https://anywebp.com/

Animated Backgrounds

CSS和JS實現(xiàn)的帶動畫背景的效果合集伙窃。

https://animatedbackgrounds.me/

Doodle Ipsum

「Doodle Ipsum」是一個以涂鴉作為測試圖片產(chǎn)生器的在線工具菩颖。

提供各種不同樣式的插圖素材,用戶可以在選擇樣式(或隨機)为障、指定大小比例和背景顏色后產(chǎn)生圖片鏈接晦闰,就能將產(chǎn)生的圖片運用在網(wǎng)頁開發(fā)原型、登陸頁面或是任何無代碼工具(No-code tool)鳍怨,例如擁有所見即所得效果的網(wǎng)頁編輯器呻右。

https://doodleipsum.com/

Sapling:展示React組件樹形結構的VS代碼擴展

隨著React項目的大小和復雜性的增加,查看頁面組件的結構是個費時費力的事情鞋喇。Sapling在VS Code側(cè)欄中添加了一個依賴關系樹声滥,用于展示組件的依賴書,并提供跳轉(zhuǎn)到文件的功能侦香。

介紹文章: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


周刊首發(fā)于GitHub落塑,歡迎訂閱:

我的周刊

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末纽疟,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子憾赁,更是在濱河造成了極大的恐慌污朽,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件龙考,死亡現(xiàn)場離奇詭異蟆肆,居然都是意外死亡,警方通過查閱死者的電腦和手機洲愤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進店門颓芭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來顷锰,“玉大人柬赐,你說我怎么就攤上這事」僮希” “怎么了肛宋?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長束世。 經(jīng)常有香客問我酝陈,道長,這世上最難降的妖魔是什么毁涉? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任沉帮,我火速辦了婚禮,結果婚禮上贫堰,老公的妹妹穿的比我還像新娘穆壕。我一直安慰自己,他們只是感情好其屏,可當我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布喇勋。 她就那樣靜靜地躺著,像睡著了一般偎行。 火紅的嫁衣襯著肌膚如雪川背。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天蛤袒,我揣著相機與錄音熄云,去河邊找鬼。 笑死妙真,一個胖子當著我的面吹牛皱碘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播隐孽,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼癌椿,長吁一口氣:“原來是場噩夢啊……” “哼健蕊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起踢俄,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤缩功,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后都办,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嫡锌,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年琳钉,在試婚紗的時候發(fā)現(xiàn)自己被綠了势木。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡歌懒,死狀恐怖啦桌,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情及皂,我是刑警寧澤甫男,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站验烧,受9級特大地震影響板驳,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜碍拆,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一若治、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧感混,春花似錦端幼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至谱秽,卻和暖如春洽蛀,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背疟赊。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工郊供, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人近哟。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓驮审,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子疯淫,可洞房花燭夜當晚...
    茶點故事閱讀 45,077評論 2 355