呜啦!日常碎碎念,偶尔掉落优质前端博文推荐、学习资源等
网页:https://tg.cosine.ren
本频道的搜索Bot 来辣 👉 @cosSearchBot
私聊直接发消息就可以搜索啦~
🔖tags
#优质博文 #资源推荐 #博客更新 #碎碎念 #项目更新 #手工 #书摘 #阮一峰的科技周刊 #新动态
图频:Cosine 🎨 Gallery @CosineGallery
猫片: @cosine_cat
网页:https://tg.cosine.ren
本频道的搜索Bot 来辣 👉 @cosSearchBot
私聊直接发消息就可以搜索啦~
🔖tags
#优质博文 #资源推荐 #博客更新 #碎碎念 #项目更新 #手工 #书摘 #阮一峰的科技周刊 #新动态
图频:Cosine 🎨 Gallery @CosineGallery
猫片: @cosine_cat
#优质博文 #前端 #javascript
Broadcast Channel API简介,可实现Web页面广播通信
AI 摘要:Broadcast Channel API 允许同源的不同浏览上下文(如窗口、标签页、iframe)之间进行广播式通信。通过创建同名的
https://developer.mozilla.org/en-US/docs/Web/API/Broadcast_Channel_API
via 张鑫旭
Broadcast Channel API简介,可实现Web页面广播通信
AI 摘要:Broadcast Channel API 允许同源的不同浏览上下文(如窗口、标签页、iframe)之间进行广播式通信。通过创建同名的
BroadcastChannel
对象,页面可以发送和接收消息,实现实时数据同步。例如,创建频道:const bc = new BroadcastChannel('channel_name');
,发送消息:bc.postMessage('message');
,接收消息:bc.onmessage = (event) => { console.log(event.data); };
。该 API 兼容性良好,支持在 Web Worker 中使用,适用于需要跨页面实时通信的场景。 https://developer.mozilla.org/en-US/docs/Web/API/Broadcast_Channel_API
via 张鑫旭
Everything You Need to Know About Node.js Type Stripping
关于有关 Node.js 类型剥离你需要知道的一切技术细节和原因。
AI + 人工摘要:Node.js 在 v23.6.0 引入类型剥离功能,通过移除 TypeScript 类型注解,无需配置即可运行代码,显著提升开发体验。
为什么不嵌入类型检查
- 类型检查依赖 TypeScript 编译器(tsc),其更新频繁且易引入不兼容变化。
- tsc 体积过大(约 22MB),会显著增加 Node.js 运行时体积。
- 在日常开发中,类型检查已在 IDE 中实时完成,运行时并无必要
类型剥离的核心机制
- Node.js 使用定制版的 swc 实现类型剥离,保证性能和稳定性。
- 剥离类型后保留代码结构,避免生成额外的 source map,减少性能开销。
- 某些 TypeScript 功能不能简单地剥离,因为它们会生成影响运行时行为的 JavaScript 代码(如枚举、命名空间和参数属性) 需通过 --experimental-transform-types 手动启用转换。
Node.js 通过将已删除的语法替换为空格来消除对源映射的需求,从而确保代码和结构的原始位置保持不变。它是透明的 —— 运行的代码是作者编写的代码,擦除类型。此技术受到 Bloomberg 的 Ashley Claymore 的 ts-blank-space 的启发。
限制与权衡
- 不支持 tsx:由于前端框架(如 React、Vue)依赖特定的编译方式,tsx 文件不符合 Node.js 后端运行时的目标。
- Node.js 禁止运行 node_modules 中的 .ts 文件,此决定是与 TypeScript 团队合作做出的,避免兼容性与性能问题,开发者需发布 .d.ts 和编译后的 JavaScript。
未来展望
- TypeScript 团队正引入新特性(如 rewriteRelativeImportExtensions),与 Node.js 类型剥离协同。
- 在下一个 TypeScript 版本(可能是 5.8)中,可能会引入 --erasableSyntaxOnly 标志将在 Editor 中提前暴露不支持的 TypeScript 特性,提升开发体验。
- Joyee Cheung 正在探索 Node.js 中 TypeScript 文件的编译缓存。这可以通过重用缓存的编译代码来加快后续模块加载速度,从而显著提高重复工作流的性能。
author Twitter@satanacchio Original Post
via @hyoban 投稿
#碎碎念
WIP~
昨天写的一点点小网站的预览🥰
figma 和 lottie 做动画都是现学的!
审美就这样了没救了喵😉
瀑布流 or 分页这块肯定还是要优化的,我想是加个开关,因为我自己看的时候想要分页。
右下角还得有个悬浮工具栏回顶部和调设置🤔
关于 logo 欢迎锐评来点建议呜呜呜呜呜感觉元素堆砌太多了()
WIP~
昨天写的一点点小网站的预览
figma 和 lottie 做动画都是现学的!
审美就这样了没救了喵
瀑布流 or 分页这块肯定还是要优化的,我想是加个开关,因为我自己看的时候想要分页。
右下角还得有个悬浮工具栏回顶部和调设置
关于 logo 欢迎锐评来点建议呜呜呜呜呜感觉元素堆砌太多了()
#碎碎念 #音乐
「INFP」- 1-Zero/Kevinz/言和/乐正绫
又漫游到了好歌喵,u1s1 这首好像很早以前就听过没收藏。
说起来你们可能不信,但是刚毕业的时候做 MBTI 职场测试的时候咱确实是 INFP - 调停者,虽然看上去不像~
歌词真的每一句都很戳
「INFP」- 1-Zero/Kevinz/言和/乐正绫
又漫游到了好歌喵,u1s1 这首好像很早以前就听过没收藏。
说起来你们可能不信,但是刚毕业的时候做 MBTI 职场测试的时候咱确实是 INFP - 调停者,虽然看上去不像~
歌词真的每一句都很戳
平心而论 也不是高冷 盛气多凌人
是我 更愿当社交场的陪衬
目眩头昏 耗尽了元神 取悦每个人
心却更烦闷 只想早些抽身
我们有各种习性 热络或安静
恐怕难以适应 另一极的环境
并不是每具身体 都有抱团取暖的愿景
不擅于言谈 不代表需要可怜
居住在舒适圈 也不等同于裹足不前
或步履维艰
世界变幻 我还想用力去冒险 不为什么而牵绊
灵感是不竭的泉 呼吸都自由怡然
方寸屋也气象万千 音乐声在流转
有许多心愿仍要实现 独处便不会令我孤单
粗略数来 也有好伙伴 亲密到无间
时常 想要碰面尽兴聊聊天
自我推演 或许是讨厌 舍弃分寸感
造一些笑脸 给过路的云烟
我们有各种习性 热络或安静
恐怕难以适应 另一极的环境
并不是每具身体 都有抱团取暖的愿景
不擅于言谈 不代表需要可怜
居住在舒适圈 也不等同于裹足不前
或步履维艰
世界变幻 我还想用力去冒险 不为什么而牵绊
灵感是不竭的泉 呼吸都自由怡然
方寸屋也气象万千 音乐声在流转
有许多心愿仍要实现 独处便不会令我孤单
宇宙大千 许多是你我所未见 彼此有各自航线
我姑且想要偏袒 探索创造的欲念
精神食粮足以消遣 不沉闷也不慌乱
每分秒都真切饱含 我的赤诚不歇的心愿