Skip to content

Commit 013f1fa

Browse files
authored
Merge pull request #952 from vitejs/sync-20f5d16b-1
docs(en): merge docs-cn/sync-docs into docs-cn/dev @ 20f5d16
2 parents a0215dc + 8105474 commit 013f1fa

File tree

10 files changed

+241
-165
lines changed

10 files changed

+241
-165
lines changed

.vitepress/theme/components/AsideSponsors.vue

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,23 @@ const sponsors = computed(() => {
1818
</script>
1919

2020
<template>
21-
<a class="vite-event" href="https://lu.ma/vite" target="_blank">
22-
<img width="22" height="22" src="/logo.svg" />
21+
<a
22+
class="viteconf"
23+
href="https://viteconf.org/23/replay?utm=vite-sidebar"
24+
target="_blank"
25+
>
26+
<img width="22" height="22" src="/viteconf.svg" />
2327
<span>
24-
<p class="extra-info">May 9th, 2024</p>
25-
<p class="heading">Vite Meetup SF</p>
28+
<p class="extra-info">Beyond Fast</p>
29+
<p class="heading">ViteConf 2023</p>
30+
<p class="extra-info">Watch the replay!</p>
2631
</span>
2732
</a>
2833
<VPDocAsideSponsors v-if="data" :data="sponsors" />
2934
</template>
3035

3136
<style>
32-
.vite-event {
37+
.viteconf {
3338
margin-top: 1rem;
3439
margin-bottom: 1rem;
3540
border-radius: 14px;
@@ -48,26 +53,35 @@ const sponsors = computed(() => {
4853
border: 2px solid var(--vp-c-bg-alt);
4954
transition: border-color 0.5s;
5055
}
51-
.vite-event:hover {
56+
.viteconf:hover {
5257
border: 2px solid var(--vp-c-brand-light);
5358
}
54-
.vite-event img {
59+
.viteconf img {
5560
transition: transform 0.5s;
5661
transform: scale(1.25);
5762
}
58-
.vite-event:hover img {
63+
.viteconf:hover img {
5964
transform: scale(1.75);
6065
}
61-
.vite-event .heading {
62-
background-image: var(--vp-home-hero-name-background);
66+
.viteconf .heading {
67+
background-image: linear-gradient(
68+
120deg,
69+
#b047ff 16%,
70+
var(--vp-c-brand-lighter),
71+
var(--vp-c-brand-lighter)
72+
);
6373
background-clip: text;
6474
-webkit-background-clip: text;
6575
-webkit-text-fill-color: transparent;
6676
}
67-
.vite-event .extra-info {
77+
.viteconf .extra-info {
6878
color: var(--vp-c-text-1);
79+
opacity: 0;
6980
font-size: 0.7rem;
7081
padding-left: 0.1rem;
7182
transition: opacity 0.5s;
7283
}
84+
.viteconf:hover .extra-info {
85+
opacity: 0.9;
86+
}
7387
</style>

guide/api-hmr.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ import.meta.hot.accept((module) => {
218218
219219
如果在连接前调用,数据会先被缓存、等到连接建立好后再发送。
220220
221-
查看 [客户端与服务器的数据交互](/guide/api-plugin.html#client-server-communication) 一节获取更多细节
221+
查看 [客户端与服务端间通信](/guide/api-plugin.html#client-server-communication) 以及 [自定义事件的 TypeScript 类型定义指南](/guide/api-plugin.html#typescript-for-custom-events) 章节获取更多细节
222222
223223
## 推荐阅读 {#further-reading}
224224

guide/api-plugin.md

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -624,16 +624,40 @@ export default defineConfig({
624624

625625
### 自定义事件的 TypeScript 类型定义指南 {#typeScript-for-custom-events}
626626

627-
可以通过扩展 `CustomEventMap` 这个 interface 来为自定义事件标注类型:
627+
Vite 会在内部从 `CustomEventMap` 这个接口推断出 payload 的类型,可以通过扩展这个接口来为自定义事件进行类型定义:
628+
629+
:::tip 提示
630+
在指定 TypeScript 声明文件时,确保包含 `.d.ts` 扩展名。否则,TypeScript 可能不会知道试图扩展的是哪个文件。
631+
:::
628632

629633
```ts
630634
// events.d.ts
631-
import 'vite/types/customEvent'
635+
import 'vite/types/customEvent.d.ts'
632636
633-
declare module 'vite/types/customEvent' {
637+
declare module 'vite/types/customEvent.d.ts' {
634638
interface CustomEventMap {
635639
'custom:foo': { msg: string }
636640
// 'event-key': payload
637641
}
638642
}
639643
```
644+
645+
这个接口扩展被 `InferCustomEventPayload<T>` 所使用,用来推断事件 `T` 的 payload 类型。要了解更多关于这个接口如何被使用的信息,请参考 [HMR API 文档](./api-hmr#hmr-api)。
646+
647+
```ts twoslash
648+
import 'vite/client'
649+
import type { InferCustomEventPayload } from 'vite/types/customEvent.d.ts'
650+
declare module 'vite/types/customEvent.d.ts' {
651+
interface CustomEventMap {
652+
'custom:foo': { msg: string }
653+
}
654+
}
655+
// ---cut---
656+
type CustomFooPayload = InferCustomEventPayload<'custom:foo'>
657+
import.meta.hot?.on('custom:foo', (payload) => {
658+
// payload 的类型为 { msg: string }
659+
})
660+
import.meta.hot?.on('unknown:event', (payload) => {
661+
// payload 的类型为 any
662+
})
663+
```

guide/backend-integration.md

Lines changed: 35 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -62,24 +62,36 @@
6262

6363
```json
6464
{
65-
"main.js": {
66-
"file": "assets/main.4889e940.js",
67-
"src": "main.js",
65+
"_shared-!~{003}~.js": {
66+
"file": "assets/shared-ChJ_j-JJ.css",
67+
"src": "_shared-!~{003}~.js"
68+
},
69+
"_shared-B7PI925R.js": {
70+
"file": "assets/shared-B7PI925R.js",
71+
"name": "shared",
72+
"css": ["assets/shared-ChJ_j-JJ.css"]
73+
},
74+
"baz.js": {
75+
"file": "assets/baz-B2H3sXNv.js",
76+
"name": "baz",
77+
"src": "baz.js",
78+
"isDynamicEntry": true
79+
},
80+
"views/bar.js": {
81+
"file": "assets/bar-gkvgaI9m.js",
82+
"name": "bar",
83+
"src": "views/bar.js",
6884
"isEntry": true,
69-
"dynamicImports": ["views/foo.js"],
70-
"css": ["assets/main.b82dbe22.css"],
71-
"assets": ["assets/asset.0ab0f9cd.png"],
72-
"imports": ["_shared.83069a53.js"]
85+
"imports": ["_shared-B7PI925R.js"],
86+
"dynamicImports": ["baz.js"]
7387
},
7488
"views/foo.js": {
75-
"file": "assets/foo.869aea0d.js",
89+
"file": "assets/foo-BRBmoGS9.js",
90+
"name": "foo",
7691
"src": "views/foo.js",
77-
"isDynamicEntry": true,
78-
"imports": ["_shared.83069a53.js"]
79-
},
80-
"_shared.83069a53.js": {
81-
"file": "assets/shared.83069a53.js",
82-
"css": ["assets/shared.a834bfc3.css"]
92+
"isEntry": true,
93+
"imports": ["_shared-B7PI925R.js"],
94+
"css": ["assets/foo-5UjPuW-k.css"]
8395
}
8496
}
8597
```
@@ -122,21 +134,21 @@
122134
- 可选项,对于每个导入的 JavaScript chunk 的 `file` 键的 `<link rel="modulepreload">` 标签,
123135
同样从入口文件 chunk 开始递归追踪导入。
124136

125-
按照上面的示例 manifest,对于入口文件 `main.js`,在生产环境中应包含以下标签:
137+
按照上面的示例 manifest,对于入口文件 `views/foo.js`,在生产环境中应包含以下标签:
126138

127139
```html
128-
<link rel="stylesheet" href="assets/main.b82dbe22.css" />
129-
<link rel="stylesheet" href="assets/shared.a834bfc3.css" />
130-
<script type="module" src="assets/main.4889e940.js"></script>
140+
<link rel="stylesheet" href="assets/foo-5UjPuW-k.css" />
141+
<link rel="stylesheet" href="assets/shared-ChJ_j-JJ.css" />
142+
<script type="module" src="assets/foo-BRBmoGS9.js"></script>
131143
<!-- 可选 -->
132-
<link rel="modulepreload" href="assets/shared.83069a53.js" />
144+
<link rel="modulepreload" href="assets/shared-B7PI925R.js" />
133145
```
134146

135-
而对于入口文件 `views/foo.js`,应该包含以下标签:
147+
而对于入口文件 `views/bar.js`,应该包含以下标签:
136148

137149
```html
138-
<link rel="stylesheet" href="assets/shared.a834bfc3.css" />
139-
<script type="module" src="assets/foo.869aea0d.js"></script>
150+
<link rel="stylesheet" href="assets/shared-ChJ_j-JJ.css" />
151+
<script type="module" src="assets/bar-gkvgaI9m.js"></script>
140152
<!-- 可选 -->
141-
<link rel="modulepreload" href="assets/shared.83069a53.js" />
153+
<link rel="modulepreload" href="assets/shared-B7PI925R.js" />
142154
```

guide/env-and-mode.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## 环境变量 {#env-variables}
44

5-
Vite 在一个特殊的 **`import.meta.env`** 对象上暴露环境变量。这里有一些在所有情况下都可以使用的内建变量:
5+
Vite 在一个特殊的 **`import.meta.env`** 对象上暴露环境变量,这些变量在构建时会被静态地替换掉。这里有一些在所有情况下都可以使用的内建变量:
66

77
- **`import.meta.env.MODE`**: {string} 应用运行的[模式](#modes)
88

guide/static-deploy.md

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -334,14 +334,28 @@ $ npx wrangler pages deploy dist
334334

335335
还可以为项目添加一个 [自定义域名](https://render.com/docs/custom-domains)
336336

337-
## Flightcontrol {#flightcontrol}
337+
<!--
338+
NOTE: The sections below are reserved for more deployment platforms not listed above.
339+
Feel free to submit a PR that adds a new section with a link to your platform's
340+
deployment guide, as long as it meets these criteria:
338341
339-
使用 [Flightcontrol](https://www.flightcontrol.dev/?ref=docs-vite) 部署静态站点,可以按照 [说明](https://www.flightcontrol.dev/docs/reference/examples/vite?ref=docs-vite) 进行操作。
342+
1. Users should be able to deploy their site for free.
343+
2. Free tier offerings should host the site indefinitely and are not time-bound.
344+
Offering a limited number of computation resource or site counts in exchange is fine.
345+
3. The linked guides should not contain any malicious content.
340346
341-
## AWS Amplify 部署 {#aws-amplify-hoisting}
347+
The Vite team may change the criteria and audit the current list from time to time.
348+
If a section is removed, we will ping the original PR authors before doing so.
349+
-->
342350

343-
使用 [AWS Amplify 部署](https://aws.amazon.com/amplify/hosting/) 部署静态站点,可以按照 [说明](https://docs.amplify.aws/guides/hosting/vite/q/platform/js/) 进行操作。
351+
## Flightcontrol
352+
353+
根据 [说明](https://www.flightcontrol.dev/docs/reference/examples/vite?ref=docs-vite),使用 [Flightcontrol](https://www.flightcontrol.dev/?ref=docs-vite) 来部署你的静态站点。
344354

345355
## Kinsta 静态站点托管 {#kinsta-static-site-hosting}
346356

347-
你可以按照这些 [说明](https://kinsta.com/docs/react-vite-example/)[Kinsta](https://kinsta.com/static-site-hosting/) 上部署你的 Vite 应用作为一个静态站点。
357+
根据 [说明](https://kinsta.com/docs/react-vite-example/),使用 [Kinsta](https://kinsta.com/static-site-hosting/) 来部署你的静态站点。
358+
359+
## xmit 静态站点托管 {#xmit-static-site-hosting}
360+
361+
根据 [说明](https://xmit.dev/posts/vite-quickstart/),使用 [xmit](https://xmit.co) 来部署你的静态站点。

index.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ hero:
2121
- theme: alt
2222
text: 在 GitHub 上查看
2323
link: https://github.com/vitejs/vite
24+
- theme: brand
25+
text: 🎉 ViteConf 23!
26+
link: https://viteconf.org/23/replay?utm=vite-homepage
2427

2528
features:
2629
- icon: 💡
@@ -48,6 +51,13 @@ import { onMounted } from 'vue'
4851
import { fetchReleaseTag } from './.vitepress/utils/fetchReleaseTag.js'
4952

5053
onMounted(() => {
54+
const urlParams = new URLSearchParams(window.location.search)
55+
if (urlParams.get('uwu') != null) {
56+
const img = document.querySelector('.VPHero .VPImage.image-src')
57+
img.src = '/logo-uwu.png'
58+
img.alt = 'Vite Kawaii Logo by @icarusgkx'
59+
}
60+
5161
fetchReleaseTag()
5262
})
5363
</script>

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@
1515
"vite": "^5.1.6",
1616
"feed": "^4.2.2",
1717
"yorkie": "^2.0.0",
18-
"@shikijs/vitepress-twoslash": "^1.3.0",
18+
"@shikijs/vitepress-twoslash": "^1.4.0",
1919
"@types/express": "^4.17.21",
20-
"vitepress": "1.1.3",
21-
"vue": "^3.4.24"
20+
"vitepress": "1.1.4",
21+
"vue": "^3.4.26"
2222
},
2323
"scripts": {
2424
"dev": "vitepress dev .",

0 commit comments

Comments
 (0)