一个典型的 SvelteKit 项目看起来是这样的:
```tree
my-project/
├ src/
│ ├ lib/
│ │ ├ server/
│ │ │ └ [your server-only lib files]
│ │ └ [your lib files]
│ ├ params/
│ │ └ [your param matchers]
│ ├ routes/
│ │ └ [your routes]
│ ├ app.html
│ ├ error.html
│ ├ hooks.client.js
│ ├ hooks.server.js
│ └ service-worker.js
├ static/
│ └ [your static assets]
├ tests/
│ └ [your tests]
├ package.json
├ svelte.config.js
├ tsconfig.json
└ vite.config.js
```
您还将找到常见的文件,如`.gitignore`和`.npmrc`(以及`.prettierrc`和`eslint.config.js`等等,如果您在运行`npx sv create`时选择了这些选项)。
##
项目文件
### src
The `src` 目录包含您项目的核心内容。除了 `src/routes` 和 `src/app.html` 之外的所有内容都是可选的。
* `lib` 包含您的库代码(实用工具和组件),可以通过 [`$lib`]($lib) 别名导入,或者使用 [`svelte-package`](packaging) 打包进行分发
* `服务器` 包含您的服务器专用库代码。您可以使用 [`$lib/server`](server-only-modules) 别名来导入。SvelteKit 将防止您在客户端代码中导入这些内容。
* `params` 包含任何您的应用需要的 [参数匹配器](advanced-routing#Matching)
* `路由` 包含了您应用程序的 [路由](routing)。您还可以在此处放置仅用于单个路由的其他组件。
* `app.html` 是您的页面模板 — 一个包含以下占位符的 HTML 文档:
* `%sveltekit.head%` — `` 和 `