前端爱好者周刊 (Github: shfshanyue/weekly),每周记录对于前端的开源工具、优良文章、重大库版本公布记录等等,周刊中优良文章会在公众号 全栈成长之路 逐个推送。每周一公布,订阅平台如下,欢送订阅。
- 订阅网站: https://weekly.shanyue.tech
- 订阅 Github: shfshanyue/weekly
封面
祁连山国家公园青海片区拍摄到的荒漠猫
一句话
Flutter
将成为将来构建 Ubuntu App 的默认抉择。原文:Ubuntu Makes Flutter‘Default Choice’for Future Desktop Appsflexbox
布局时可应用 CSS 属性gap
管制 item 间隙npm outdated
可查看以后我的项目中的过期 Package- 2021 春运全国铁路、公路、旱路、民航共发送旅客预计达到 8.7 亿人次,比 2019 年同期降落 70.9%,比 2020 年同期降落 40.8%。
- 北京市文旅局推出 12 条赏花游主题线路,有迎春、玉兰、桃花、梅花、杏花等,详见 北京的春天去哪里看花?
- 微信 Mac 桌面版开始反对朋友圈
开发利器
一、bestofjs: 发现 Javascript 最好的框架与库
这里有 JS 生态最风行的库,实时刷新并举荐,并且可每周订阅
- repo: ritz078/transform
二、Lorem Picsum: 随机一张指定尺寸图片 API
https://picsum.photos/200/200
将随机从 Unsplash 取一张指定尺寸的图片
- repo: DMarby/picsum-photos
三、risingstars: 2020 年 Javascript 明星我的项目
2021 年,JS 各个生态圈中最风行的框架及周边产物,如 React 生态圈、Vue 生态圈、GraphQL 生态圈、构建工具生态圈等
四、User Agents: 对于 UA 的所有
领有大量 UA 的数据库及相干性能
- 可获取任意平台的 UA (Mac/Windows/Android)
- 可获取任意 Spider/Crawer 的 UA (Baidu/Google/Bing)
- 可随机生成 UA
- 可解析 UA
五、Browser Logos: 浏览器高清分辨率 Logo
这是 Github 的一个仓库,你能够间接援用地址,找到任意浏览器高清分辨率的 Logo。
如果援用 Github 地址比较慢的话,你能够试试 jsdelivr 的 CDN
文章举荐
一、作者尤雨溪视频直播下一代前端构建工具 Vite 解说(中英双语字幕,B 站可看)
Vite 一个局部是基于 ESM 的利用 esbuild 的开发服务器,另一个局部是基于 Rollup 的配置化的打包器。视频中尤大将应用一个 Demo 进行演示,并解说对于它的哲学思考。
视频已被热心小哥制作成双语字幕视频,并上传到了 B 站。
二、字节商业变现团队 webpack5 业务实际
- FilesystemCache: 更快的二次构建
- Prepack: 更早的编译期计算,更小的体积
- Asset Modules: 资源加载内置
- Named ChunkID: 更强的永恒缓存能力
- 深度 TreeShaking 能力
- 内置 Worker/WASM 构建能力
- Node Polyfill 去除,如 crypto、querystring 等
总结下来更快的打包速度、更小的打包体积
三、腾讯企鹅辅导 webpack5 降级实际
- Module Federation: 多利用共享依赖打包,扔到 CDN 共享
与上边字节差不多,总结下来更快的打包速度、更小的打包体积。然而好在给出了数据
第一次打包
webpack 版本 | 第一次 build 工夫 | 第二次 build 工夫 | 第三次 build 工夫 |
---|---|---|---|
v4 | 19.6s | 6.8s | 7.4s |
v5 | 14.8s | 1.6s | 1.5s |
批改源码后,再次打包
webpack 版本 | 第一次 build 工夫 | 第二次 build 工夫 | 第三次 build 工夫 |
---|---|---|---|
v4 | 10.5s | 7.3s | 6.8s |
v5 | 4.0s | 1.5s | 1.6s |
打包大小比照
webpack 版本 | build 产生的文件的大小 |
---|---|
v4 | 2.16M |
v5 | 2.05M |
四、All in one:我的项目级 monorepo 策略最佳实际
目前 monorepo 已成为了 npm7、yarn 的规范性能,将来会有更多的 project/package 通过 monorepo 的形式保护,许多公共库如 babel、react 也通过 monorepo 保护。
通过 monorepo 能够更好地治理多 Pakcage 依赖,复用配置及公共的 devDep 等,当初快来学习吧。
五、一文详解 CSS in JS
对于 CSS in JS 的历史
开源与库
一、bytemd: 字节出品 Markdown 编辑器
字节出品的 Markdown 编辑器,由 Svelte 构建,同时反对 React/Vue 组件等,反对公式 (math)、脚注(footnote)、流程图(mermaid) 等简单富文本内容。另外,掘金社区的编辑器也是基于此构建
bytemd 基于最风行的 Markdown 解析器 remark
与 最受欢迎的便捷器 codemirror
,基于风行库,领有更强的扩大能力,你很容易扩大 Plugin,如微信脚注、多样主题等
- npm: bytemd
二、nodegui: 应用前端开发跨端桌面利用
应用前端技术基于 QT5 的桌面跨端解决方案,能够应用 React/Vue/Svelte 框架来开发跨端利用
- repo: nodegui/nodegui
- npm: @nodegui/nodegui
三、docusaurus: facebook 出品文档化工具
facebook 出品的文档化工具,在 Github 曾经有两万颗星星,基于 React 可轻松扩大页面,定制能力较强。
- repo: facebook/docusaurus
- npm: docusaurus
四、tinyhttp: 一个用以代替 express 的轻量 web 框架
tinyhttp 创立于九个月前,还是一代很年老的 http 框架,因为没有任何历史包袱,同时反对 TS,并打包成原生 ESM。它有诸多长处
- 比 Express 快两倍
- 反对 Express 的所有中间件
- 没有历史包袱,反对 ESM 与 TS
- 预约常见中间件,如 logger、router 等
tinyhttp 能不能代替 express,让咱们刮目相待吧 (应该不能)
- repo: talentlessguy/tinyhttp
- npm: tinyhttp
五、isbot: 判断申请是否一个机器人
可能无效辨认蜘蛛、爬虫等,但不能辨认假装 UA 歹意爬取数据的机器人
- repo: omrilotan/isbot
- npm: isbot
版本公布
一、esbuild v0.9.0
反对 package.json 中 exports 字段的反对
{
"name": "your-pkg",
"exports": {
"import": "./imported.mjs",
"require": "./required.cjs"
}
}
对于山月
我是山月,下篇文章再会
社交:
Github | 知乎 | 掘金 | 博客 |
---|
我的项目:
极客工夫 | 我的面试 | 诗词集 |
---|---|---|
开发者工具箱 | npm 在线执行 | 前端周刊 |