Skip to content

Commit

Permalink
docs: add contents
Browse files Browse the repository at this point in the history
  • Loading branch information
nozomuikuta committed Nov 6, 2024
1 parent ab01eda commit b48ece3
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 9 deletions.
2 changes: 1 addition & 1 deletion docs/.vitepress/config/ja.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ export const jaConfig = defineConfig({
text: 'コマンドラインインターフェース',
link: '/ja/concepts/command-line-interface',
},
// { text: '開発サーバー', link: '/ja/concepts/dev-server' },
{ text: '開発サーバー', link: '/ja/concepts/dev-server' },
// { text: 'プレビューサーバー', link: '/ja/concepts/preview-server' },
// { text: 'プラグインコンテナー', link: '/ja/concepts/plugin-container' },
// { text: 'モジュールグラフ', link: '/ja/concepts/module-graph' },
Expand Down
21 changes: 13 additions & 8 deletions docs/content/ja/concepts/dev-server.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,23 @@

Viteの開発サーバーは、一般的なWebサーバーと同様に、特定のURLに対するリクエストを受け取り、特定のリソースを返します。

どんなURLへのリクエストに対してどんなリソースを返すかは、Webサーバーの実装次第です。たとえば、 `/index.html` というURLに対するリクエストに、Webサーバーのファイルシステムにおける `/index.html` を返す必要はありません。かわりに `/www/index.html` ファイルを返すことが可能です。
どんなURLへのリクエストに対してどんなリソースを返すかは、Webサーバーの実装次第です。たとえば、 `/index.html` というURLに対するリクエストに、Webサーバーのファイルシステムにおける `/index.html` を返す必要はありません。かわりに `/www/index.html` ファイルを返すことが可能です。また、 `/src/index.ts` というURLに対するリクエストに、URLの見た目から推測されるとおりにTypeScriptのコードを返す必要もありません。

なお、リクエストに対応する処理を決定するのはURLだけでなく、リクエストのその他の点(例:HTTPヘッダー)も考慮して決定される場合もあります。
::: tip
URL (Uniform Resource Locator) とは、インターネット上の固有のリソースのアドレスであって、そのアドレスに実際に何があるかをあらわしたものではないことに留意してください。
:::

これらの条件にもとづいて、Viteの開発サーバーは、さまざまなリクエストに対してさまざまな処理をおこないます。
なお、リクエストに対応する処理を決定するのはURLだけでなく、リクエストのその他の属性(例:HTTPヘッダー)も考慮して決定される場合もあります。

リクエストにまつわる諸条件にもとづき、Viteの開発サーバーは、さまざまなリクエストに対してさまざまな処理をおこないます。

## ルーティングとミドルウェア

リクエストに対する特定の処理(関数)を「ミドルウェア」といい、特定のURLへのリクエストに対してどのミドルウェアを実行するかを「ルーティング」といいます。Viteでは、[connect](https://www.npmjs.com/package/connect)を利用してルーティングをおこない、たとえば以下のようなリクエストと処理の関係が定義されています。

| リソース | URL例 | ミドルウェア |
| :----------------- | :---------------- | :-------------------- |
| HTMLリソース | `/index.html` | `indexHtmlMiddleware` |
| JavaScriptリソース | `/src/index.ts` | `transformMiddleware` |
| CSSリソース | `/src/styles.css` | `transformMiddleware` |
| リソース | URL例 | ミドルウェア | ファイルシステム上の対応するファイル |
| :-------------------------------------- | :---------------- | :---------------------- | :----------------------------------- |
| エントリーポイントとしての `index.html` | `/index.html` | `indexHtmlMiddleware` | `<PROJECT_ROOT>/index.html` |
| JavaScriptリソース | `/src/index.ts` | `transformMiddleware` | `<PROJECT_ROOT>/src/index.ts` |
| CSSリソース | `/src/styles.css` | `transformMiddleware` | `<PROJECT_ROOT>/src/styles.ts` |
| 公開静的ファイルリソース | `/favicon.ico` | `servePublicMiddleware` | `<PROJECT_ROOT>/public/favicon.ico` |

0 comments on commit b48ece3

Please sign in to comment.