SvelteKit提供了一个" skeleton ";对于多页面应用,其中两个功能对我来说特别有趣:1)路由系统(src/routes);2)服务器端渲染。
我的问题是:SvelteKit依赖于NodeJS吗?我使用Go作为后端服务器,它与VueJS前端配合良好。我只是简单地复制webpack的输出(dist文件夹)到我的go源代码树,并将其编译成一个可执行文件。
与SvelteKit工作吗?
编辑
背景:我主要是一个Go程序员。在我知道Svelte之前,我纯粹使用Bootstrap + vanilla JS进行前端开发。我尝试过VueJS,但放弃了。这个问题的目的是问:是值得学习SvelteKit还是仅仅是Svelte?
换句话说,SSR是"好有"的。给我。然而,如果"路由"架构没有Node就不能工作,那么我觉得我最好还是选择SvelteKit,或者,还有其他原因吗?
我想你是指从
我只是简单地复制webpack
的输出
如果你想用SvelteKit做静态渲染,安装@sveltejs/adapter-static@next
并将其插入svelte.config.js
作为import adapter from '@sveltejs/adapter-static';
。
您可能必须在配置中设置一个额外的属性prerender
,这样Svelte就知道为页面中的任何逻辑做预呈现,因此它可以正确构建。
svelte.config.js
文件示例:
import adapter from '@sveltejs/adapter-static';
/** @type {import('@sveltejs/kit').Config} */
const config = {
kit: {
adapter: adapter(),
prerender: {
default: true
}
}
};
export default config;
这样,当您在包含项目的目录中执行npm run build
时,它将输出到build
文件夹。
SvelteKit的服务器端路由和呈现特性与它的实现相关联,它在Node中。
特别是,Svelte组件的服务器端渲染将不可避免地在某种程度上依赖于Node,因为Svelte编译器是用TypeScript编写的。
SvelteKit旨在成为web应用程序的一体化解决方案,但您可以将其配置为输出预渲染的静态站点(参见LeoDog896的答案),客户端路由完整。
设置一个Go服务器来为静态站点提供服务,以便路由按预期工作,这应该是微不足道的。唯一缺失的部分是SSR,它与SvelteKit自己的服务器实现紧密相连。