SvelteKit 是否依赖于 NodeJS?
Does SvelteKit relies on NodeJS?
SvelteKit 为多页应用程序提供了一个“骨架”,其中两个特性对我来说特别有趣:1)路由系统(src/routes); 2) 服务器端渲染。
我的问题是:SvelteKit 是否依赖于 NodeJS?我使用 Go 作为后端服务器,它与 VueJS 前端配合得很好。我只是简单地将 webpack 的输出(dist 文件夹)复制到我的 go 源代码树并将其编译成一个可执行文件。
这适用于 SvelteKit 吗?
编辑
背景:我主要是一名围棋程序员。在接触 Svelte 之前,我纯粹使用 Bootstrap + vanilla JS 进行前端开发。我试过 VueJS,但放弃了。这个问题的目的是问:值得学习 SvelteKit 还是只学习 Svelte?
换句话说,SSR对我来说“很高兴”。但是,如果“路由”架构在没有 Node 的情况下无法工作,那么我觉得我最好还是选择 Svelte,或者,还有其他选择 SvelteKit 的理由吗?
我想你的意思是来自
的静态渲染
I just simply copy the output of webpack
如果您想使用 SvelteKit 进行静态渲染,请安装 @sveltejs/adapter-static@next
并将其作为 import adapter from '@sveltejs/adapter-static';
插入您的 svelte.config.js
。
您可能需要在配置中额外设置 属性、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 的 server-side 路由和渲染功能与其在 Node 中的实现相关联。
特别是,server-sideSvelte 组件的渲染将不可避免地在某种程度上依赖于 Node,因为 Svelte 编译器是用 TypeScript 编写的。
SvelteKit 旨在成为 Web 应用程序的 all-in-one 解决方案,但您可以将其配置为输出 pre-rendered 静态站点(参见 LeoDog896 的回答),并带有 client-side 路由完好无损。
设置一个 Go 服务器来为静态站点提供服务应该很简单,这样路由才能按预期工作。唯一缺少的部分是 SSR,它与 SvelteKit 自己的服务器实现紧密相关。
SvelteKit 为多页应用程序提供了一个“骨架”,其中两个特性对我来说特别有趣:1)路由系统(src/routes); 2) 服务器端渲染。
我的问题是:SvelteKit 是否依赖于 NodeJS?我使用 Go 作为后端服务器,它与 VueJS 前端配合得很好。我只是简单地将 webpack 的输出(dist 文件夹)复制到我的 go 源代码树并将其编译成一个可执行文件。
这适用于 SvelteKit 吗?
编辑
背景:我主要是一名围棋程序员。在接触 Svelte 之前,我纯粹使用 Bootstrap + vanilla JS 进行前端开发。我试过 VueJS,但放弃了。这个问题的目的是问:值得学习 SvelteKit 还是只学习 Svelte?
换句话说,SSR对我来说“很高兴”。但是,如果“路由”架构在没有 Node 的情况下无法工作,那么我觉得我最好还是选择 Svelte,或者,还有其他选择 SvelteKit 的理由吗?
我想你的意思是来自
的静态渲染I just simply copy the output of webpack
如果您想使用 SvelteKit 进行静态渲染,请安装 @sveltejs/adapter-static@next
并将其作为 import adapter from '@sveltejs/adapter-static';
插入您的 svelte.config.js
。
您可能需要在配置中额外设置 属性、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 的 server-side 路由和渲染功能与其在 Node 中的实现相关联。
特别是,server-sideSvelte 组件的渲染将不可避免地在某种程度上依赖于 Node,因为 Svelte 编译器是用 TypeScript 编写的。
SvelteKit 旨在成为 Web 应用程序的 all-in-one 解决方案,但您可以将其配置为输出 pre-rendered 静态站点(参见 LeoDog896 的回答),并带有 client-side 路由完好无损。
设置一个 Go 服务器来为静态站点提供服务应该很简单,这样路由才能按预期工作。唯一缺少的部分是 SSR,它与 SvelteKit 自己的服务器实现紧密相关。