Svelte 最新动态:2023 年 1 月
SvelteKit 1.0、教程以及 Svelte 元素的类型定义。
自 SvelteKit 1.0 发布仅仅过去了两周!如果你还没有尝试过,可以查看 直播、新网站 和 教程,一步步了解 SvelteKit 的所有功能。
让我们深入了解细节...
SvelteKit 的新变化
@sveltejs/kit
1.0 已发布!所有未来的版本将遵循语义化版本控制(semver),变更将按照主版本/次版本/补丁的形式列出在 更新日志 中。- 改进了对 Storybook 和 Histoire 的支持(#7990)。目前仍在为完全支持这些工具进行开发(storybook#20239)。
vitePreprocess
现在是默认的预处理器。请查阅 文档 了解vitePreprocess
和svelte-preprocess
之间的差异(#8036)。
不兼容的更改:
- 不再允许从
+(layout|page)(.server)?.js
和+server.js
文件导出未知的内容(除非以下划线开头)(#7878)。 - URL 中的
__data.json
现在会被去除(#7979)。 sveltekit()
现在将返回一个包含 Vite 插件数组的 promise(#7994)。- 新增的
embedded
配置选项默认关闭,用于嵌入 SvelteKit 时更好地处理链接点击事件(文档,#7969)。 - 自动生成的替代页面已被
builder.generateFallback(fallback)
替代(#8013)。 invalid()
已被重命名为fail()
,ValidationError
已重命名为ActionFailure
(#8012)。- SvelteKit 现在会在无效的加载响应时抛出错误(#8003)。
- SvelteKit 现在使用 Vite 4,并需要 Svelte 的
peerDependency
为^3.54.0
(#7543)。 - 当
ssr
为 false 且prerender
不是 false 时,shell 会被预渲染——请确保在 ssr 为 false 时 prerender 也是 false(#8131)。 - 关于已移除或变更功能的警告和错误已被删除(#8019)。
Svelte 的新变化
- 现在可以将
options.direction
参数传递给自定义过渡函数(3.54.0,#3918)。 - 现在可以从由
@const
声明的函数中更新变量(3.54.0,#7843)。 - 新增了
svelte/elements
用于 Svelte/HTML 类型定义(3.55.0,#7649)。
Language Tools 的新变化
Svelte 扩展和语言工具现在有一些新的最低版本要求:
- Node 版本现在为 16
- TypeScript 版本现在为 4.9
- Svelte 版本现在为 3.55
以下功能也已发布:
- 缺失的处理器快速修复(#1731)。
- 添加 Svelte anchor 缺少属性的代码操作(#1730)。
- 改进了提交字符处理(#1742)。
- 添加
--preserveWatchOutput
选项(#1715)。 - 增强 Quickfixes 以支持 Svelte Stores(#1789)。
- 仅在 SvelteKit 项目中显示 SvelteKit 文件的上下文菜单(#1771)。
- 如果可能,使用
satisfies
操作符(#1770)。
欲知 Svelte 编译器的所有变更(包括未发布的变更),请查看 更新日志。
社区展示
使用 Svelte 构建的应用和站点
- Svelte Recipes 🧑🍳 提供了常见数据可视化问题的代码片段。
- Everything Svelte 是一门新课程,教授构建现代 Web 应用所需的一切知识。
- CSS Timeline 是一个展示 CSS 历史和演变的时间轴。
- GitBar 是一个用于显示 Pull Request 评论的系统托盘应用。
- Texture Lab 从任意文本生成即时游戏材质。
- Totems 是一家定制支架和支援的工作室。
- PeopletoNotion 是一个 Chrome 扩展,可以一键将 LinkedIn 个人资料添加到 Notion。
- DeckDev 是一个用于构建《万智牌》卡组的工具。
- Default Shortcuts 是一个跨浏览器搜索快捷键的工具。
学习资源
来自 Svelte Society
- Svelte Society - London December 2022 包括 Antony 和 Rich 的两个演讲。其中,Rich 的演讲 “Mistakes were made” 是 SvelteKit 1.0 的回顾。
- SvelteKit with Netlify Edge Functions,作者 Brittney Postma。
- Sirens Stream: Skeleton - A fully featured UI Toolkit,Chris Simmons 和 Brittney Postma。
- Sirens: SvelteKit for Enterprise - Lacey Pevey 与 Sirens 一起探讨在企业级别使用 SvelteKit。
- Sirens: Form Actions - Kev 再次与 Sirens 一起讨论 SvelteKit 中的表单操作,并为 SvelteSirens.dev 上的演讲者提交创建了一个新表单。
推荐观看
- SvelteKit is my mistress,作者 Fireship。
- Sveltekit 1.0 in under 3 minutes,作者 Gui Bibeau。
- What Svelte UI Library Should You Use? 和 The Best Icon Library For Svelte (Iconify),作者 Joy of Code。
推荐阅读
- Rendering emails with Svelte,作者 Gautier Ben Aïm。
- Now That React is Dead, What’s the Next Big Thing?,作者 Somnath Singh。
- What is SvelteKit? And Why Should You Care?,作者 Tila。
- Sveltekit API endpoints,作者 Jef Meijvis。
- Chart.js 4.0 已发布,新增对 Svelte 的支持。
- Creating A Custom Svelte Media Query Store,作者 Rik Schennink。
库、工具和组件
- Konsta UI 是一个用于 React、Vue 和 Svelte 的像素级完美的 Tailwind CSS 移动 UI 组件库。
- probablykasper/modal-svelte 是一个用于 Svelte 的弹窗组件。
- deepcrayon/scrolltron 是 OBS Studio 的一个新闻滚动条覆盖层。
- JetBrains WebStorm 2022.3 现在提供了对 Svelte 的内置支持。
- NextAuth.js 现已支持 SvelteKit。
- SvelteKit CAS authentication 是一组用于简化 SvelteKit 中 CAS/SSO 使用的功能。
- @macfja/sveltekit-session 是一个简单的 SvelteKit 会话管理工具。
- @svelte-plugins/tooltips 是一个用 Svelte 编写的基础工具提示组件。
- tRPC-SvelteKit 提供了用于 SvelteKit 应用的端到端类型安全 API。
- SvelteKit Tailwind Blog Starter 是一个易于配置和自定义的 SvelteKit + Tailwind CSS 博客快速入门模板。
- Free Svelte Accelerators 是一个 Svelte 和 SvelteKit 开源代码列表,用于快速启动你的项目。