行业动态
TC39 Signals 提案
一个早期提案:给 ECMAScript/JavaScript 带来一个新特性 signals,该提案从一系列流行的框架中引入了一些想法。提案解释 signals 是一种数据类型,它通过模拟状态单元和从其他状态/计算中派生的计算来实现单向数据流。状态和计算形成一个无环图,其中每个节点都有其他节点从其值派生状态(接收器)和/或为其值贡献状态(源)。
发布
1、Deno 1.42
Deno 是有 Rust 编写的 Javascript 运行时环境,旨在提供更安全的运行环境,目前发布到了 1.42 版本。Deno 支持 引入 JSR 包,它类似与 npm 包,但是支持 TS类型、只支持 ESM模块,是npm包的一个超集。Deno v1.42提供了更健壮的依赖管理,包括 Deno 发布deno publish
和 deno add
命令,它们可以从 JSR 和 npm 发布和安装模块。
2、Babylon.js 7
Babylon.js 旨在打造一款全球最强、最美、最简单、最开放的 web 渲染引擎,其 7.0 版本的发布带来了六项重大变更。
3、Node.js April 3 Security Releases
Node.js 18.x、20.x 和21.x 版本容易受到1个中等严重性问题[HTTP Request Smuggling via Content Length Obfuscation - (CVE-2024-27982) - (Medium)](https://nodejs.org/en/blog/vulnerability/april-2024-security-releases#http-request-smuggling-via-content-length-obfuscation---cve-2024-27982---medium)
和1个高严重性问题[Assertion failed in node::http2::Http2Session::~Http2Session() leads to HTTP/2 server crash (CVE-2024-27983) - (High)](https://nodejs.org/en/blog/vulnerability/april-2024-security-releases#assertion-failed-in-nodehttp2http2sessionhttp2session-leads-to-http2-server-crash-cve-2024-27983---high)
的影响,上述安全问题分别在 18.20.1、20.12.1、21.7.2 版本修复。
4、Docusaurus 3.2
Docusaurus 是一个将 markdown 转换为静态HTML网页的库,专注markdown编写即可构建个人知识库,支持使用 react组件来扩展网站样式和布局。其 3.2 版本优化了生产环境打包耗时,首次构建速度提升 30%,增加构建速度提升 60%。
5、gulp v5.0.0
Gulp.js 是基于 Node.js 的自动化构建工具,其 5.0.0 版本更新了依赖的 Node.js 版本、默认流编码变更为UTF-8
、对 glob 路径的标准化等内容。
文章
JavaScript 引擎和 JavaScript 运行时之间的区别是什么?(英文)
JavaScript 引擎和 JavaScript 运行时的关系,正如ECMAScript和JavaScript的关系,是相关的,但并不相同。
JavaScript 引擎实现 ECMA-262标准定义的 ECMAScript。ECMA-262定义了 JavaScript 的核心功能,对输入或输出没有任何支持。JavaScript 运行时是一个 ECMAScript 主机,它嵌入了一个 JavaScript 引擎,并为其增加了额外的输入和输出功能,以及运行时所需的任何其他功能。其他功能可能包括 Web 浏览器中的 DOM 或服务器端运行时中的文件系统访问。运行时没有义务遵循其他标准,并且能够根据需要定义自己的 API,这就是为什么 Node.js、 Deno 和 Bun 都有不同的文件系统 API。
开源项目
The-Super-Tiny-Compiler(Star 27.3k、Fork 2.8k)
这是一个超简化 JavaScript 编译器示例,用不到1000行代码实现了现代编译器的主要部分的功能,通读代码将帮助您了解大多数编译器是如何工作的。
网站
1、临时邮箱
注册账号时,不想使用您的真实邮箱?可以使用这个网站提供的临时邮箱,不需要注册,邮箱持续24小时,比十分钟邮箱(10分钟)保持时间更长,可以任意设置邮箱名,随时更换邮箱。
2、无聊按钮
当你感到无聊时,点击按钮,随机跳转一个奇思妙想的网站。
CSS WEEKLY
1、把玩CSS常量Infinity(英文)
作者发现CSS常量Infinity
,并尝试用在z-index
、width
、height
、border-radius
和动画上,实际上发现常量Infinity
无穷大并不是真正的无穷大,取决于不同浏览器如何处理。
2、对 CSS ::backdrop 继承的更改(英文)
::backdrop
是一项CSS实验中伪元素选择器,是在任何处于全屏模式的元素下的即刻渲染的盒子(并且在所有其他在堆中的层级更低的元素之上),比如说全屏播放视频元素下方的盒子。其由不继承任何元素改为:可从其原始元素继承任何可继承的属性。
资源
CSS Animation 101
《CSS 动画 101 指南》。这本书介绍了 CSS 的动画,涵盖了 CSS animation、transition 属性、如何制作复杂的动效,结合理论和实践课程。您将学习如何,以及为什么要将动画应用在您的网页
这里是松桑的前端后花园,目前坚持在写前端后花园周刊,专注前端基础领域,分享常见前端面试题、前端开源项目、工具库、前端最新动态,目前还一个前端菜鸟,和我一起打怪升级吧!这里是我精选的往期文章,希望对你有所帮助。
Node.js常用命令及学习资料
18个宝藏技术周刊,涵盖前端、产品、UX、AIGC、独立开发、科技(偷偷收藏)
为什么每个自媒体人都需要个人网站?(附十分钟快速建站教程)
我用 Nextjs 十分钟搭建了一个展示955公司网站
Gitbook 小书 - 快速创建你的个人专栏