Skip to main content

Svelte 新特性:2021年8月

Shadow DOM、导出和await - 好消息来了!

从 The Changelog (JS Party 第182集)到 Svelte Radio (第2930集),本月大家似乎都在谈论 Svelte!此外,Shadow DOM 支持以及新的导出和 await 功能也在 Svelte 中推出。

Svelte 的新特性

7月是自2019年底以来 Svelte 核心仓库最活跃的月份,我们努力减少未处理的 PR 数量,并发布了 Svelte 3.39.0、3.40.0 和 3.41.0。除了大量的错误修复外,还添加了以下新功能:

  • |trusted 事件修饰符允许在事件被调用前检查事件是否可信 (#6137)
  • 新的 svelte/ssr 包用于支持改进 SvelteKit SSR 的工作 (#6416)
  • 新的 errorMode 编译器选项用于支持改进 TypeScript 文件的预处理 (#6194)
  • 现在可以将 ShadowRoot 指定为创建组件时的 target - 使得在 shadow DOM 中渲染 Svelte 组件成为可能 (#5869)
  • Svelte 组件现在支持 export { ... } from (#2214)、export let { ... } = (#5612) 和 {#await ... then/catch} (#6270) 语法

完整的功能和错误修复列表,请查看 Svelte 更新日志

SvelteKit 更新

  • prerender.force 现已改为 prerender.onError,让你可以细调哪些错误会导致构建失败,哪些不会 (#2007)
  • esbuild 的配置现在可以与 SvelteKit 适配器一起使用 (#1914)
  • 常见配置错误 (#1910) 和编译器错误 (#1827) 的错误消息现在更友好了
  • 只有当目标主机与 SvelteKit 应用相同或是其更具体的子域名时,才会传递 Cookie (#1847)
  • 打包时 index.js 的导出现在会改为目录导出 - 使导入更简洁 (#1905)
  • Vite.js 的 mode 现在可以从 $app/env 获取 (#1789)
  • 全面改进类型定义 (#1778, #1791, #1646)

要查看 SvelteKit 的所有更新,请查看 SvelteKit 更新日志

svelte/* 周边的功能和错误修复

  • Language Tools 现在更好地支持”工作区信任”功能(在 VS Code 中使用)
  • 在 svelte2tsx 中,为避免未来出现冲突声明,环境类型声明现在会被重命名。用户现在需要自己提供环境类型定义 - 修复了 JS 输出
  • Sapper 发布了 v0.29.2,修复了正则路由、请求目录时的状态码,以及用户未提供 base 标签时的导出问题 (更新日志)

社区展示

应用和网站

想要参与 Svelte 项目?有兴趣帮助改善 Svelte 在网络上的展示? 如果你想为 Svelte Society 用 SvelteKit 重写做出贡献,请查看未解决问题列表

教育内容

库、工具和组件

  • Svelte-Capacitor 刚刚发布了 v2.0.0 - 让使用 Svelte 和 Capacitor 构建具有接近原生性能的混合移动应用变得更加容易。
  • svelte-remixicon 是基于 Remix Icon 的 Svelte 图标库,包含超过 2000 个图标。
  • SveltePress 是建立在 SvelteKit 之上的文档工具。
  • Svelte Starter Kit 是一个快速上手 Svelte 的样板,包含由 Supabase 提供支持的身份验证和用户配置文件。
  • Kahi UI 是一个 Svelte 优先的 UI 套件,内置暗色模式。
  • typesafe-i18n 是一个固执己见的、完全类型安全的轻量级本地化库,适用于 TypeScript 和 JavaScript 项目,没有外部依赖。

查看社区网站 sveltesociety.dev 获取来自 Svelte 生态系统的更多模板、附加组件和适配器。

下月见!

想要更多更新?加入我们的 RedditDiscord