新项目是工兵还是苗条?

问题描述

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

解决方法

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

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

关于 SvelteKit,正如@johanchopin 所说:

根据创作者 Rich Harris 的说法,过渡到 sveltekit 不会很难。

Rich 谈到了 SvelteKit on this podcast

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...