Skip to main content

Svelte 是一个 组件框架,而 SvelteKit 是一个 应用框架(或者叫“元框架”,取决于你问谁)。SvelteKit 旨在解决构建生产环境应用时会遇到的那些棘手的问题:

  • 路由
  • 服务端渲染
  • 数据抓取
  • Service workers
  • TypeScript 集成
  • 预渲染
  • 单页应用(SPA)
  • 库打包
  • 生产构建优化
  • 部署到不同的托管提供商
  • ……等等等等

SvelteKit 应用默认是服务端渲染的(就跟传统的多页应用(MPA)一样),以达到优秀的首次加载性能和 SEO 特性。但是后期也可以转到客户端导航(就跟现代的单页应用(SPA)一样),以避免用户每次导航时都要加载所有内容(包括像第三方分析代码之类的东西)。只要是 JavaScript 可以运行的地方,SvelteKit 应用都可以运行,甚至,你的用户完全用不着运行 JavaScript,你会见到的。

如果这听起来有点复杂,不用担心,SvelteKit 是一个可以伴你成长的框架!先从简单的地方开始,等到你需要的时候,再学习新特性。

项目结构

在右侧,树状的文件预览界面,你会看到一个项目中 SvelteKit 所需要的一堆文件。

package.json 对你来说应该会很熟悉,如果你之前用过 Node.js。这个文件列举了项目的依赖,包括 svelte@sveltejs/kit,还有一些 scripts 用来与 SvelteKit CLI 交互。(我们现在就正在下面的窗口中运行 npm run dev

注意文件中指定了 "type": "module",这意味着 .js 文件会被默认当作一个原生的 JavaScript 模块,而不是传统的 CommonJS 格式。

svelte.config.js 包含了项目的配置。我们现在不需要关注这个文件,但如果你很好奇的话,可以访问 这个文档

vite.config.js 包含了 Vite 的配置。因为 SvelteKit 使用 Vite。你可以使用诸如热模块更换、TypeScript 支持、静态资源处理等 Vite 特性

src 是存储应用源代码的地方。src/app.html 是页面模板(SvelteKit 会适当地替换 %sveltekit.head%%sveltekit.body%),src/routes 定义了应用的 路由

最后,static 包含了所有的资源文件(比如 favicon.png 或者 robots.txt),可以包含在应用的部署中。

Next: 路由

1
2
<h1>Welcome to SvelteKit</h1>
 
initialising