新项目的 sapper 还是 svelte?

sapper or svelte for new project?

我看过并玩过 svelte 和 sapper,我想知道为什么要使用 svelte 模板而不是 sapper 模板创建一个新项目? 我相信 sapper 会在适当的时候被 sveltekit 取代,但它仍然是推荐的方法。

Svelte 和 Sapper 的关联方式与 React 和 Next.js 的关联方式非常相似。 Sapper 提供服务器端渲染 (SSR)、routing(如果需要,可以很容易地动态化)和单页应用程序 (SPA) 支持等功能。创建路由就像将 .svelte(用于页面)或 .js(用于服务器路由)文件放到路由文件夹中一样简单。对于嵌套路由,您只需删除一个包含 .js 文件的文件夹。

我认为您问题的答案主要取决于您的用例。如果您需要创建路由、想要 SSR 或 SPA,请使用 Sapper。但是,如果您不需要这些东西(或不知道),请从 Svelte 开始,因为在较小的项目上从 Svelte 迁移到 Sapper 就像复制一些文件一样简单。应该注意的是,正如@Madacol 在下面指出的那样,有些差异(例如 {#await})不能简单地移植过来,需要更重的提升。还有一些静态视觉生成器(Routify、Elder.js 等),如果您更喜欢它的话。

关于 SvelteKit,正如@johannchopin 所说:

the transition to sveltekit won't be to hard according to the creator Rich Harris.

Rich 谈到了 SvelteKit on this podcast

更新 (3/19/21): 目前看来有 docs that include a migration guide。不过,应该注意的是,SvelteKit 1.0 尚未发布,因此其中一些可能会发生变化。