Svelte 的最新动态:2023 年 3 月
SvelteHack,大量 SvelteKit 1.0 之后的改进,以及一个大型案例展示
3 月份以火热的姿态来临,自 SvelteKit 1.0 发布以来,已经新增了许多重要功能。详情请查看上周的博文。
Svelte Society 在上个月还启动了 SvelteHack,总奖金超过 $12,000 —— 邀请所有新老 Svelte 开发者赶在 4 月 17 日截止日期之前制作一些令人惊艳的作品!
另外,如果你还不知道的话,又一场 Svelte Summit 即将到来!访问 SvelteSummit.com 并订阅新闻邮件以获取下一次活动的最新资讯 📬
现在让我们一起看看本月的所有变化……
SvelteKit 的最新动态
$app/paths
现在可以在没有应用的情况下使用——这使得组件测试(例如使用 Vitest 和 Storybook 等)变得更加简单 (1.4.0, #8838)- 适配器现在可以在路由级别进行配置 (1.5.0, 文档, #8740)
- 新的快照机制在导航和页面重载后仍可保留临时 DOM 状态 (1.5.0, 文档, #8710)
OPTIONS
方法现在可以在服务器方法中使用 (1.6.0, 文档, #8731)- 添加了更丰富的错误消息以处理无效的导出 (1.7.0, #9055)
- 服务器的加载函数现在支持流式 Promise (1.8.0, 文档, #8901)
- 新的配置选项
preloadStrategy
可帮助优化预加载,从而避免某些浏览器上的导入“瀑布现象” (1.8.4, 文档, #9179) - 新增
paths.relative
选项,用于控制paths.assets
和paths.base
的解释方式 (1.9.0, 文档, #9220)
Svelte 和开发工具的最新动态
svelte.dev
的 REPL 现在支持package.json
中的exports
字段 (#445)- 新的调用层级功能允许你查看函数或类的被调用位置,并向上追踪调用堆栈 (extensions-107.1.0, #1889)
- Svelte 扩展添加了对
declarationMap
的支持。现在,当一个库含有声明映射时,.svelte
文件上的“跳转到定义”功能将导航到源代码 (extensions-107.1.0, #1878) - TypeScript 内联提示 现已通过 Svelte 扩展支持。通过
javascript.inlayHints.*
或typescript.inlayHints.*
启用它们 (extensions-107.1.0, #1855)
* 关于 Svelte 编译器的所有更改,包括未发布的更改,请查看 CHANGELOG。
社区展示
使用 Svelte 构建的应用和网站
- win32.run 是一个运行在浏览器中的 Windows XP 模拟器——包含文件系统、程序、XP 风格文件选择器与保存框、第三方程序等
- Svelte Radial Menu 是一个基于 Rauno 的径向菜单 的实验性径向菜单项目
- apod color search 允许你按颜色搜索“每日天文图片”(APOD)
- SvHighlight 是一个用于 SvelteKit 和 TailwindCSS 的代码高亮工具,支持模糊和聚焦模块
- Limey 让你可以在几分钟内创建出漂亮的一页式网站
- a/links 是一个支持短链接、可组合书签的扩展
- Sprint Cards 是一个设计挑战生成器
- Plought 是一个用于减少决策噪声的工具
- ArcOS-Frontend 是 Arc 操作系统前端的 Svelte 重写版
- Poxi 是一个用户生成网页的拖放式、可绘制的网站编辑器,支持多人协作
- demo-threlte-scroller-rocinante 是一个结合 svelte-sequence 和 Threlte 的“滚动叙述”概念验证
- Phonics + Stuff 是一系列学习和教学语音学的资源
学习资源
由 Svelte 贡献者与大使提供
- Geoff Rich 的博客:自 SvelteKit 1.0 以来的流式处理、快照和其他新特性
- Geoff Rich 的文章:带有 Svelte 的视图转换实验 以及 SvelteKit 中的原生页面过渡(2023 更新版)
- Svelte Radio 的播客:Ron Au 的故事以及如何变得奇思妙想!
- PodRocket 的访谈:SvelteKit 1.0 与 Rich Harris
- 推特资讯:Svelte Society Africa 正式启动!
- Frontend RheinMain 的视频:与 Simon 和 Dominik 一起探索 SvelteKit
观看或收听
- Delightful Web Development with SvelteKit 是 This Dot Labs 举办的一场研讨会,将于 4 月 13 日举行。
- 通过 SvelteKit 的 Group Layouts 更好地控制布局 和 通过 6 个示例学习 SvelteKit Hooks by Joy of Code
- 使用 Tailwind CSS 在 Svelte Kit 创建弹窗模态框 和 SvelteKit:使用 Tailwind CSS 创建动态表格 by Abdul Rehman 2050
阅读
- Svelte Language Server 示例 by VolarJS
- 我如何通过切换到 Svelte 让应用速度提高 2.4 倍 by Erik Verduin
- 使用 SvelteKit 实现流畅的页面过渡 和 如何构建一个静态的 SvelteKit 网站 by Phil Kruft
- 使用 SvelteKit 和 Ionic 打造极速且具有 SEO 功能的 PWA by Tommertom
- Svelte Stores 教程:在多个组件之间共享数据 by Vincent Widerberg
- SvelteKit 的商业案例 by Chris Ellis
- 如何通过 SvelteKit 设置一个新的 Svelte 项目 by Igor Nowosad
- 如何在 Svelte 中为事件、插槽和属性编写类型 by Raqueebuddin Aziz
- 使用 TypeScript 搭配 SvelteKit 和 Supabase by Ross Robino
- 在 Ember 应用中调用 Svelte 组件 by Rajasegar Chandran
- 为你的服务器端渲染 SvelteKit 网站添加站点地图 和 URL 中的状态:SvelteKit 的方法 by Justin Ahinon
- 使用 SvelteKit、Chart.js 和 coincap.io 实时展示加密货币数据图表 by Hessel
库、工具和组件
UI 套件和组件
- Pink 是一个与框架无关的设计系统,由 Appwrite 提供
- quick-pick 是一个简单的搜索工具,你可以自主控制搜索目录
- Grail UI 提供了一组组件基础、动作和工具,帮助你更快地构建可访问且高质量的 Svelte 应用,提供出色的开发者体验
- svelte-image-comparison 是一个用于比较图片或画布元素的 Svelte 组件
- simple-font-select 是一个简单的字体选择组件,展示本地字体作为 CSS 字体族
- svelte-datatables-net 是一个将数据转换为交互式 HTML 表格的 Svelte 组件
- svelte-flextable 是一个用于创建服务器端处理数据表格组件的工具包
- svelte-algolia-instantsearch 是一个社区开发的 instantsearch.js 的 Svelte 包装器
- svelte-deep-zoom 是一个用于呈现交互式深度缩放图像(切片图像金字塔)的 Svelte 组件
- SVoast 是一个 Svelte 简单的 toast 组件
- svelte-otp 是一个简单轻量的 Svelte OTP 输入组件
- trace-svelte 是一个 Svelte 的逐行高亮工具
- Svelte Auth UI 是一个 Svelte 的身份验证组件集合
- KitDocs 是一个 SvelteKit 的文档集成工具 - VitePress 的替代方案
- svelte-signature-pad 是一个 Svelte 动作,用于捕获平滑签名并将其渲染为 SVG 路径,使用了出色的 perfect-freehand 库
辅助工具、存储与动作
- SvelteKit-Document 是一个小型工具,可让你从任何页面或布局更改
<html>
、<head>
和<body>
标签,完全支持 SSR - SvelteKit Form Data 是一个自动解析 SvelteKit 表单数据的中间件
- sveltekit-superforms 为 SvelteKit 表单添加了一系列提升生活质量的功能。号称是一个“功能强大的库”
- Houdini - SvelteKit 的“消失” GraphQL 客户端,现在已达到 1.0
- sveltekit-modal-langchain 是一个示例项目,使用 sveltekit-modal 展示如何在 SvelteKit 中轻松编写 Python 端点
- mdsvex-excerpt 允许你在某些布局中仅显示部分文档内容
- Svelte Action Balancer 是一个简单的 Svelte 动作,可以让标题更易阅读
- svelte-object 帮助使用组件创建和维护对象,值是可订阅和更新的存储
- svelte-relative-time 是一个小型 Svelte 动作和组件,用于呈现相对时间
- svelte-disable-preload 是一个简单的动作,应用无操作事件监听器,避免文档级的 SvelteKit 事件处理程序被调用
- SvelteKit Static Sitemap 在构建期间为你的页面生成 sitemap.xml
- svelte-intersection-observer-action 是一个 Svelte 动作,用于使用 IntersectionObserver 进行元素位置通知
- svelte-sequence 提供自定义存储以在多个步骤中组成补间动画序列
- @svelte-put/inline-svg 是一个用于内联动态 SVG 的 Svelte 动作(从网络获取)
其他酷工具
- sveltekit-modal 允许在 SvelteKit 中使用 Modal 编写 Python 端点
- svelte-kit-bot-block 是一个服务器钩子,用于处理 SvelteKit 的垃圾请求
- Svelte Email 允许你使用 Svelte 编写和设计电子邮件模板,并将其渲染为 HTML 或纯文本
- Inertia.js 允许你使用经典的服务器端路由和控制器快速构建现代单页面 React、Vue 和 Svelte 应用
- svelte-adapter-bun 是一个 SvelteKit 的适配器,用于生成独立的 Bun 服务器
- React in Svelte 是一个允许你在 Svelte 中使用 React 组件的库
- SvelteKit Redis 会话管理器 是 SvelteKit 中用于会话管理的 Redis 集成
感谢阅读!别忘了试试 Svelte Hackathon!