Svelte 的最新动态: 2022 年 11 月
在 SvelteKit 和 Svelte 中更好的表单、路由以及内联样式
对于 Svelte 社区来说,刚刚过去的 10 月是忙碌的一个月。在 SvelteKit 中,use:enhance
和高级路由得到了许多改进,而 Svelte 编译器发布了一个小版本以提升日常开发体验。
此外,还有一个巨大的展示需要介绍……所以让我们开始吧!
SvelteKit 的最新进展
use:enhance
新增的update
方法让你可以在添加自定义逻辑的同时轻松恢复默认的表单行为(文档、#7083 和 #7326)- 路由中现在支持
[[optional]]
参数(文档、#7051) goto
方法现在加入了invalidateAll
,可以重新运行所有新活动页面的load
函数(文档、#7407)- 适配器在查找静态资源时现在会使用
config.kit.paths.base
,修复了adapter-netlify
、adapter-vercel
、adapter-cloudflare
和adapter-cloudflare-workers
的 404 问题(#4448)
破坏性更新:
Svelte 的变化
- 新的可访问性警告
a11y-click-events-have-key-events
和a11y-no-noninteractive-tabindex
,将在组件缺少必要的按键事件或 tabindex 时发出警告。而a11y-role-has-required-aria-props
将不再对匹配其语义角色的元素发出警告(3.51.0) <svelte:component>
和<svg>
现在支持--style-props
(3.51.0,组件示例:之前,之后;SVG 示例:之前,之后)- 组件事件处理器现在支持“nullish”值(3.51.0,示例)
- 作用域样式现在可以应用于
<svelte:element>
(3.51.0,示例) - 现在可以在行内样式标签中使用
important
:style:foo|important
(3.52.0,#7365) - 使用
<a target="_blank">
而未指定rel="noreferrer"
时,现在会抛出警告(3.52.0,#6188)
Tom Smykowski 还发布了一篇很棒的总结,介绍了 3.52.0 中的所有变化!想了解 Svelte 编译器的所有更改,包括即将到来的变更,请查看 CHANGELOG。
社区展示
使用 Svelte 构建的应用和网站
- AttendZen 是一个面向现场、虚拟或混合活动的活动管理和营销平台
- Gram Jam 是一个基于 SvelteKit 的具有挑战性的每日文字游戏
- Collabwriting 是一个面向团队的可操作知识库
- Dazzle 是一个由 Svelte & DallE 构建的益智游戏
- Figma Autoname 插件 可一键自动命名你的 Figma 图层
- DECK 是适用于 MacOS、Ubuntu 和 Windows 的高性能本地 web 开发工作室
- Asm editor 是一个编写和运行 m68k 汇编代码的 web 应用
- Nucleus 是一个具有简洁易用界面的文本编辑器,灵感来自 VS Code、Atom、Fleet 等
- Observer 是 Arth Panel 的前端界面,该项目是一个开源且自托管的 Minecraft 服务器面板
- .PLAN 是一个基于云的支持 Markdown 和分区的笔记应用
- Stablecog 是一个简单、免费且开源的 AI 图像生成器
- FreeSpeech AAC 是一个使用 TypeScript 编写的免费开源辅助通信应用
- sqrdoff 是一个和朋友一起享受玩的点线盒游戏
- itty 是一个重新定义传统链接缩短服务的工具
- splits 可帮助你追踪分段、计算比赛配速,让你成为更好的运动员
- Weaver 是一个用于创建 编织草稿 的应用
学习资源
视频
- Starting With Svelte - Brittney Postma by fitcevents
- 从零学习 Svelte,Geoff Rich 的 Svelte 教程 by Kelvin Omereshone
- 如何在 Svelte Kit 中连接 MongoDB by LevelUpTuts
- SvelteKit 使用 Cookies 进行身份验证,制作一个打字游戏用 Svelte 和 为 SvelteKit Tailwind CSS 设置自动类名排序 by Joy of Code
- 使用 SvelteKit 和 PocketBase 进行认证 和 在 SvelteKit 中使用表单操作 (+page) by Huntabyte
- Sybil - 第 1 集 - 用 SurrealDB 进行 Rust 知识管理 by Raphael Darley
文章
- 用 React 工作后,我想念的 4 点 Svelte 特性 和 使用 Svelte 组件创建动态社交卡片图像 by Geoff Rich
- Storybook 7.0 中对 Vite 的一等支持 (包含 Svelte 和 SvelteKit) by Ian VanSchooten
- WebStorm 即将带来更好的 Svelte 支持 来自 JetBrains
- 暗模式 切换 by pyronaur
- 使用 Svelte 实现 HeadlessUI 组件 by Captain Codeman
- 在 SvelteKit 中使用 Sequelize by MetaZebre
- 在 SvelteKit 站点中实现维护模式 by Andreas Söderlund
- ActionStore:Rails 的实时 Svelte store by Stefan Buhrmester
- Svelte CSS 图像轮播:带有弹性拉动效果 和 在本地支持边缘的 SvelteKit 本地函数 by Rodney Lab
- 通过 Slot Props 创建 Svelte 标签组件 by Shinichi Okada
- Sky Cart: 使用 Stripe Checkout 创建一个开源、云无关的购物车 by Stripe 的 Mike Bifulco
库、工具和组件
- Threlte 是一个 Svelte 组件库,可声明式构建和渲染 three.js 场景并在 Svelte 应用中以状态驱动的方式使用。我们再次特别介绍了它的新“Playground”按钮功能
- Svelte Turnstile 是一个库,将 Cloudflare 的 Turnstile(新的 CAPTCHA 替代方案)集成到 Svelte 应用中
- ActionStore 允许你通过 ActionCable 直接将数据推送到 Svelte stores
- SvelteKit +
<is-land>
是一个 SvelteKit 中部分水合的实验性项目,使用@11ty/is-land
- Svelte Color Select 是一个基于 OKLab 感知色彩空间的 Svelte’s OKhsv 颜色选择器组件
- svelte-awesome-color-picker 是一个高度可定制的颜色选择器组件库
- rx-svelte-forms 创建了一个受 Angular Reactive Forms 启发的响应式 Svelte 表单
- svelte-wc-bind 在 Svelte Web 组件中启用双向数据绑定
- svelte-preprocess-style-child-component 允许你使用类似于 CSS Shadow Parts 的语法为子组件中的元素设置样式
- unplugin-svelte-components 允许 Svelte 进行按需组件的自动导入
- sveltekit-search-params 旨在成为 SvelteKit 中读取和写入查询参数的最快方式
- svelte-crop-window 是一个支持触摸手势(缩放、旋转、平移)以及鼠标拖拽和右键旋转的图像和视频裁剪窗口组件
- Open Graph Image Generation 允许你在 SvelteKit 中无需浏览器通过 HTML/CSS 动态生成 Open Graph 图片
- Svelte Tap Hold 是一个为 Svelte/SvelteKit 提供极简主义点击并按住操作的组件
- svelte-copy 的新版本允许你自定义触发文本复制到剪贴板的事件
UI 套件、集成和启动模板
- SvelteKit Statiko 是一个多功能助理,用于 SvelteKit 静态项目
- Svelte-TailwindCSS UI (STWUI) 是一个基于 Tailwind 的 UI,目前处于预发布测试版
- KitBase 是 SvelteKit 和 PocketBase 的启动模板
- UnoCSS Vite 插件 (svelte-scoped) 是 Vite/SvelteKit 的 Scoped-CSS 工具
- SvelteKit Auth App 是一个使用 JsonWebToken 和 Prisma 创建身份验证系统的示例
- SvelteKit Supabase Dashboard 是一个简单的仪表盘,灵感来自 Supabase UI,前端由 SvelteKit 构建、后端使用 Supabase
- Supakit 是 SvelteKit 用于 Supabase 身份验证的辅助工具
- @bun-community/sveltekit-adapter-bun 是一个用于生成独立 Bun 服务器的 SvelteKit 适配器
- hooks-as-store 让你在 Svelte 应用中使用 React 的自定义 hook
有趣的项目
- svelte-typewriter-store 是在 Svelte 中实现旋转打字机效果的最简单方式
- Aksel 是一个你网站上需要的海鸥
- Svelte-Dodge 让组件躲避鼠标指针
这就是本月的内容!如果我们遗漏了什么,请在 Reddit 或 Discord 上告诉我们。
下个月见 👋