呜啦!日常碎碎念,偶尔掉落优质前端博文推荐、学习资源等
网页:https://tg.cosine.ren
本频道的搜索Bot 来辣 👉 @cosSearchBot
私聊直接发消息就可以搜索啦~
🔖tags
#优质博文 #资源推荐 #博客更新 #碎碎念 #项目更新 #手工 #书摘 #阮一峰的科技周刊 #新动态

图频:Cosine 🎨 Gallery @CosineGallery
猫片: @cosine_cat
#工具推荐 #tools #组件库 #react #开源
star react-easy-crop
AI 摘要:react-easy-crop 是一个用于 React 的简单图片裁剪组件,支持图片和视频裁剪,提供直观的用户交互界面。它支持拖动、缩放、旋转等操作,易于集成和自定义。适合在头像上传、图片编辑等场景中快速实现裁剪功能。 GitHub - ValentinH/react-easy-crop: A React component to crop images/videos with easy interactions
#优质博文 #前端 #javascript
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 张鑫旭 Broadcast Channel API - Web APIs | MDN
#碎碎念
“你快看!这个门后面住了个二次元”
#优质博文 #前端 #typescript #node
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 投稿
#无限暖暖 #碎碎念
感觉无限暖暖移动端好像优化了不少,这俩张我ipad上随手拍的,衣服居然有不少细节了www场景毕竟我没选对地方
但我永远爱 pc 的女鹅!!等闲下来拍拍拍拍
cosine - 前端人の日常频道
#碎碎念 怎么有人无聊到做 lottie 动画啊岂可修 等一下这个画爱心好好玩儿(x
#碎碎念
WIP~
昨天写的一点点小网站的预览🥰
figma 和 lottie 做动画都是现学的!
审美就这样了没救了喵😉
瀑布流 or 分页这块肯定还是要优化的,我想是加个开关,因为我自己看的时候想要分页。
右下角还得有个悬浮工具栏回顶部和调设置🤔
关于 logo 欢迎锐评来点建议呜呜呜呜呜感觉元素堆砌太多了()
#碎碎念
怎么有人无聊到做 lottie 动画啊岂可修
等一下这个画爱心好好玩儿(x
#碎碎念
新装备+1
u1s1这鼠标真好看喵,摸着也很舒服
无极滚轮好用喵
#碎碎念
冬天的我,根本不想出被窝,已经在床上窝俩天了😭
被窝太暖和惹——就是容易腿麻
你别说这不知道哪翻出来的小床上桌巨稳当
#工具推荐 #前端 #在线网站 #markdown #html
Html To Markdown 是一个将 HTML 转换为 Markdown 格式的工具,支持高效、精准的内容格式转换。它适合开发者和内容创作者,将复杂的 HTML 代码快速简化为轻量级、可读性强的 Markdown 格式,从而便于在文档、博客和其他 Markdown 支持的平台上使用。
cosine - 前端人の日常频道 via @Music163bot
1-Zero/Kevinz/言和/乐正绫 – INFP
#碎碎念 #音乐

INFP」- 1-Zero/Kevinz/言和/乐正绫

又漫游到了好歌喵,u1s1 这首好像很早以前就听过没收藏。
说起来你们可能不信,但是刚毕业的时候做 MBTI 职场测试的时候咱确实是 INFP - 调停者,虽然看上去不像~

歌词真的每一句都很戳

平心而论 也不是高冷 盛气多凌人
是我 更愿当社交场的陪衬
目眩头昏 耗尽了元神 取悦每个人
心却更烦闷 只想早些抽身
我们有各种习性 热络或安静
恐怕难以适应 另一极的环境
并不是每具身体 都有抱团取暖的愿景
不擅于言谈 不代表需要可怜
居住在舒适圈 也不等同于裹足不前
或步履维艰


世界变幻 我还想用力去冒险 不为什么而牵绊
灵感是不竭的泉 呼吸都自由怡然
方寸屋也气象万千 音乐声在流转
有许多心愿仍要实现 独处便不会令我孤单
粗略数来 也有好伙伴 亲密到无间
时常 想要碰面尽兴聊聊天
自我推演 或许是讨厌 舍弃分寸感
造一些笑脸 给过路的云烟
我们有各种习性 热络或安静
恐怕难以适应 另一极的环境
并不是每具身体 都有抱团取暖的愿景
不擅于言谈 不代表需要可怜
居住在舒适圈 也不等同于裹足不前
或步履维艰

世界变幻 我还想用力去冒险 不为什么而牵绊
灵感是不竭的泉 呼吸都自由怡然
方寸屋也气象万千 音乐声在流转
有许多心愿仍要实现 独处便不会令我孤单
宇宙大千 许多是你我所未见 彼此有各自航线
我姑且想要偏袒 探索创造的欲念
精神食粮足以消遣 不沉闷也不慌乱
每分秒都真切饱含 我的赤诚不歇的心愿
Back to Top