栗子前端技术周刊第 38 期 - VueConf 2024、pnpm 9.5、Vitest 2.0...

🌰栗子前端技术周刊第 38 期 (2024.7.8 - 2024.7.14):浏览前端一周最新消息,学习国内外优秀文章视频,让我们保持对前端的好奇心。

📰 技术资讯

  1. VueConf 2024:VueConf 2024 于上周六在深圳召开,大会介绍了 Vue Router 的新数据加载器 API、Vue DevTools 的下一个迭代、Vue Vapor 等等内容,可通过官方 PPT 了解更多演讲详情。
  1. pnpm 9.5:pnpm 9.5 引入了"Catalogs"功能,实现了可共享的依赖关系版本说明,减少了合并冲突,改进了对 monorepos 的支持。使用时首先在 pnpm-workspace.yaml 定义 catalog,然后再 package.json 中使用,最终 package.json 会使用 workspace.yaml 中 catalog 定义的版本。
yaml 复制代码
# pnpm-workspace.yaml
catalogs:
  # Can be referenced through "catalog:react17"
  react17:
    react: ^17.0.2
    react-dom: ^17.0.2

  # Can be referenced through "catalog:react18"
  react18:
    react: ^18.2.0
    react-dom: ^18.2.0
json 复制代码
{
  "name": "@example/components",
  "dependencies": {
    "react": "catalog:react18",
  }
}
  1. Vitest 2.0:Vitest 2.0 发布,提供了更好的浏览器模式支持、新的 Blob Reporter 和一些稳定性改进。

📒 技术文章

  1. React, Visualized:React 入门指南,使用可视化方式介绍。
  1. Protecting Against Third Party Code Changes with Script Integrity :利用脚本完整性验证来防止第三方修改代码 - 最近有很多关于 polyfill.io 的新闻,如果你从他们的域名加载了脚本,你可能会收到一些恶意代码。为了防止这个情况发生,你可以通过 integrity 属性来做完整性验证。

  2. 删除node_modules依赖文件很慢?其实三秒就能删除了:估计只要是从事前端开发的朋友们肯定都会遇到过删除 node_modules 依赖文件的情况,文中介绍删除依赖为什么会慢和如何秒删除依赖。

🔧 开发工具

  1. es-toolkit:es-toolkit 是一个新的 JavaScript 工具库,自称是更快、更现代化的 lodash 版本,而 lodash 则是更快、更现代化的 underscore 版本。
js 复制代码
import { countBy } from 'es-toolkit/array';

const array = [1, 2, 3, 4, 5, 6];
const result = countBy(array, x => x % 2 === 0 ? 'even' : 'odd');

console.log(result);
// 输出: { 'odd': 3, 'even': 3 }
  1. Croner 8.1:定时任务,在后端中常见,Croner 支持全平台定时任务,包括 Node、Deno、Bun 和浏览器。
js 复制代码
const job = Cron('*/5 * * * * *', () => {
	console.log('每五秒运行一次');
});
  1. file-type 19.1:从 Buffer、Uint8Array 或 ArrayBuffer 中检测文件类型,现在还能从 streams 流中读取。
js 复制代码
import { fileTypeFromFile } from 'file-type';

console.log(await fileTypeFromFile('Unicorn.png'));
//=> {ext: 'png', mime: 'image/png'}

🚀🚀🚀 以上资讯文章选自常见周刊,如 JavaScript Weekly 等,周刊内容也会不断优化改进,希望你们能够喜欢。

💖 欢迎关注微信公众号:栗子前端

相关推荐
小的时候可菜了8 分钟前
JS 异步的本质:从单线程到 thenable(一条进化链)
开发语言·前端·javascript
liangshanbo121514 分钟前
Webpack vs Vite 底层原理高频追问的问题
前端·webpack·node.js
可乐鸡翅yeah_16 分钟前
hls.js 配置 loadStartPosition,点播起始播放位置踩坑
开发语言·javascript·网络协议·ecmascript·m3u8在线
web打印社区37 分钟前
Windows 网页静默打印设置步骤:客户端、防火墙与联调清单
开发语言·前端·javascript·chrome·pdf·ecmascript
恋猫de小郭44 分钟前
KMP 又改了编译流程, Separate Compilation 禁止了 `commonMain` 的依赖穿透
android·前端·flutter
吴声子夜歌1 小时前
Nginx应用与运维——Nginx Web服务应用实战(静态文件服务器的搭建)
运维·前端·nginx
y = xⁿ1 小时前
关于Agent工程落地
前端·人工智能·python
web打印社区1 小时前
JS 静默打印怎么做:纯前端为什么不行,以及最小可跑通写法
开发语言·前端·javascript·websocket·网络协议·http·pdf
web打印社区1 小时前
HTML5 静默打印:前端页面怎么调用打印机且尽量不弹窗
前端·javascript·vue.js·pdf·html·html5
Python大数据分析1 小时前
开源免费、AI 驱动的 Web 打印设计器 OpenPrint:从拖拽设计到 ERP 对接全流程实战
前端·人工智能·开源