探索前端技术的无尽旅程从这里开始!每周精选前端领域的热门文章。
文章推荐:本期为大家带来,E2E 测试框架Playwright使用指南、npm依赖安装风险解析、2024 react 工具指南、TS 中 interface 与 type 使用区别、10 个你应该知道的 VSCode 使用技巧;
工具推荐:更轻量更快的模板引擎 - eta.js、完全开源的高效复现类Sora视频生成方案 - OpenSora
行业新闻:李彦宏“程序员将不再存在”、全球首个AI程序员诞生 Devin如果觉得有收获,欢迎大家点赞👍🏻订阅
文章推荐
Playwright视觉测试终极指南
这篇文章是关于如何使用 Playwright 进行视觉测试的终极指南,详细介绍了视觉测试的概念、好处、实施步骤以及最佳实践。通过视觉测试,可以自动验证应用的视觉一致性,捕捉到其他测试方法可能忽略的界面问题。文章详细说明了如何设置和运行视觉测试,包括如何创建和比较快照,以及如何在持续集成/持续部署(CI/CD)流程中应用视觉测试。
延伸阅读: Playwright 和 Cypress 主要区别及优缺点如下:
- 浏览器支持:Playwright 支持多浏览器(Chrome, Firefox, Safari, Edge),Cypress 主要支持 Chrome, Firefox, Edge。
- 运行模式:Playwright 支持无头和有头模式,Cypress 主要是有头模式。
- 网络控制:Playwright 提供更强的网络请求拦截和模拟能力。
- 并行测试:Playwright 内建支持并行测试,而 Cypress 需要额外配置。
- 社区和生态:Cypress 由于较早发布,拥有更成熟的社区和插件生态。
综上 Playwright 的优点在于其跨浏览器支持和强大的测试功能,但社区相对较新。Cypress 用户界面友好,易于上手,具有稳定的社区支持,但在浏览器支持和高级测试功能上可能不如 Playwright。
👉 原文链接:Playwright视觉测试终极指南
npm 安装脚本风险
在安装依赖时,是否有考虑这个开源的包所带来的副作用?文章探讨了npm安装脚本如何被武器化,通过一个有害npm包的实例展示了这种风险。以一个具体的例子介绍了恶意包的工作原理,如何通过preinstall脚本执行危害行为,并讨论了npm安装脚本的正当用途和潜在危险。同时,提供了防范建议,比如使用--ignore-scripts选项,以及利用自动化工具进行依赖分析和执行策略。
延伸阅读:Deno 在安全性的考虑上要比 Node、Bun 更为严格一些,Deno 默认不允许运行时访问外部资源(如文件系统、网络等)除非明确授权,这减少了恶意代码执行的风险。Deno 也不使用 npm,而是直接从 URL 导入模块,这改变了包管理的方式,避免了 npm 中存在的一些安全隐患。
👉 原文链接:npm 安装脚本风险
React Libraries You Should Use In 2024
文章概述了2024年值得使用的React库,包括开发框架(如Vite和Next.js),包管理器(如NPM和Bun),CSS/UI库(如Tailwind CSS和ShadCN),状态管理(推荐Zustand),数据获取(如Tanstack Query和SWR),路由(React Router和Tanstack Router),认证(如Supabase和NextAuth),数据库与ORM(推荐SQL和Prisma),日期时间处理(如date-fns和day.js),表单处理(推荐React Hook Form),拖放功能(推荐DnD Kit),移动应用开发(如React Native和Expo),以及部署(推荐Vercel)。如果你有一个没有历史包袱的 React 工程,不妨考虑这些实践。
👉 原文链接:React Libraries You Should Use In 2024
TS 中 interface 与 type 使用区别
这篇文章介绍了TypeScript中interface和type的使用区别。它讲述了两者的核心功能和使用场景,其中interface主要用于定义数据结构,且可以合并多次声明,而type可以表示不同类型的组合,但不支持合并。这篇文章旨在帮助开发者有效地在TypeScript开发中选择合适的构造使用。
👉 原文链接: TS 中 interface 与 type 使用区别
10个VSCode 技巧提升你的研发效率
这篇文章为VS Code用户提供了十个提高生产力的关键技巧,如使用多光标编辑、利用代码片段快速编程、定制工作区视图等。文章深入浅出地解释了每个技巧,帮助开发者更高效地使用VS Code。阅读完文章,相信你会更熟练的使用 VSCode
👉 原文链接:10个VSCode 技巧提升你的研发效率
工具推荐
更轻量更快的模板引擎 - eta.js
Eta.js 是一个轻量级、高性能的嵌入式JavaScript模板引擎,适用于Node.js、Deno和浏览器环境。它使用TypeScript编写,强调优异的性能、配置灵活性和小的捆绑大小。Eta具有零依赖性,压缩后大约3.5KB,并支持Deno、Node和浏览器。它还提供强大的功能,如预编译、部分视图、异步处理和布局支持。 与其他模板引擎相比,Eta提供了一些独特的优势:
- 与
EJS相比,Eta更轻量级,提供更快的模板编译和渲染速度,允许左侧空白控制,提供更灵活的定界符和插件支持,并改进了错误报告机制。 - 与
doT.js相比,Eta简化了自定义定界符的设置,支持异步处理和运行时部分视图,并提供更准确的字符串和多行注释解析。 - 与
Handlebars相比,Eta更加轻量和快速,不需要注册大量助手函数就能执行简单任务,同时Eta的模板作为受信任的代码运行,这意味着它可以执行任何合法的JavaScript表达式。
👉🏻工具官网 更轻量更快的模板引擎 - eta.js
Open-Sora: 完全开源的高效复现类Sora视频生成方案
Open-Sora项目是一项致力于高效制作高质量视频,并使所有人都能使用其模型、工具和内容的计划。 通过采用开源原则,Open-Sora 不仅实现了先进视频生成技术的低成本普及,还提供了一个精简且用户友好的方案,简化了视频制作的复杂性。 通过 Open-Sora,我们希望更多开发者一起探索内容创作领域的创新、创造和包容。
👉🏻工具官网 Open-Sora: 完全开源的高效复现类Sora视频生成方案
行业新闻
李彦宏“程序员将不再存在”言论被周鸿祎驳斥,网友怒怼:先把百度程序员都开除了!
在 3 月 9 日央视的《对话》·开年说节目上,百度创始人、董事长兼 CEO 李彦宏表示,基本上以后不会存在“程序员”这种职业了,因为只要会说话,人人都会具备程序员的能力。“未来的编程语言只会剩下两种,一种叫做英文,一种叫做中文,这也是目前世界上人工智能技术最领先的两个语言。” 对此网友怒怼:先把百度程序员都开除了!
👉🏻 原文地址
全球首个AI程序员诞生 Devin
全球首位AI软件工程师Devin诞生了,它掌握全栈技能,云端部署、底层代码、改bug、训练和微调AI模型都不在话下。最可怕的是,它完全不怕996,老黄的预言是彻底成真了!
👉🏻原文地址 全球首个AI程序员诞生,码农饭碗一夜被砸,10块IOI金牌华人团队震撼打造,996写代码训练模型