Skip to content

Commit 41dc7fc

Browse files
docs(cn): update with mainstream
2 parents 0c81a6f + 1bf53e8 commit 41dc7fc

21 files changed

+518
-195
lines changed

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@ node_modules/
77
package-lock.json
88
yarn.lock
99
.vitepress/dist
10-
*.local
10+
*.local
11+
.vitepress/cache

.vitepress/config.ts

+7-9
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,13 @@ export default defineConfig({
3333
],
3434
],
3535

36+
locales: {
37+
root: { label: '简体中文' },
38+
en: { label: 'English', link: 'https://vitejs.dev' },
39+
ja: { label: '日本語', link: 'https://ja.vitejs.dev' },
40+
es: { label: 'Español', link: 'https://es.vitejs.dev' },
41+
},
42+
3643
vue: {
3744
reactivityTransform: true,
3845
},
@@ -67,15 +74,6 @@ export default defineConfig({
6774
placement: 'vitejsdev',
6875
},
6976

70-
localeLinks: {
71-
text: '简体中文',
72-
items: [
73-
{ text: 'English', link: 'https://vitejs.dev' },
74-
{ text: '日本語', link: 'https://ja.vitejs.dev' },
75-
{ text: 'Español', link: 'https://es.vitejs.dev' },
76-
],
77-
},
78-
7977
footer: {
8078
copyright:
8179
'本中文文档内容版权为 Vite 官方中文翻译团队所有,保留所有权利。'

.vitepress/theme/styles/vars.css

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@
1818

1919
:root {
2020
--vp-button-brand-border: var(--vp-c-brand-light);
21-
--vp-button-brand-text: var(--vp-c-text-dark-1);
21+
--vp-button-brand-text: var(--vp-c-white);
2222
--vp-button-brand-bg: var(--vp-c-brand);
2323
--vp-button-brand-hover-border: var(--vp-c-brand-light);
24-
--vp-button-brand-hover-text: var(--vp-c-text-dark-1);
24+
--vp-button-brand-hover-text: var(--vp-c-white);
2525
--vp-button-brand-hover-bg: var(--vp-c-brand-light);
2626
--vp-button-brand-active-border: var(--vp-c-brand-light);
27-
--vp-button-brand-active-text: var(--vp-c-text-dark-1);
27+
--vp-button-brand-active-text: var(--vp-c-white);
2828
--vp-button-brand-active-bg: var(--vp-button-brand-bg);
2929
}
3030

.vitepress/utils/fetchReleaseTag.js

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ export function fetchReleaseTag() {
33
.then((res) => res.json())
44
.then((json) => json.tag_name ?? '')
55
.then(releaseTag => {
6+
if (!releaseTag) return;
67
const tagLineParagragh = document.querySelector('div.VPHero.has-image.VPHomeHero > div > div.main > p.tagline')
78
const docsReleaseTagSpan = document.createElement('samp')
89
docsReleaseTagSpan.classList.add('docs-cn-github-release-tag')

_data/team.js

+1
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ export const core = [
113113
title: 'Frontend Developer',
114114
desc: 'Passionate by tooling around TypeScript and React.',
115115
links: [{ icon: 'github', link: 'https://github.com/ArnaudBarre' }],
116+
sponsor: 'https://github.com/sponsors/ArnaudBarre',
116117
},
117118
{
118119
avatar: 'https://github.com/dominikg.png',

config/build-options.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
- **默认:** `'modules'`
77
- **相关内容:** [浏览器兼容性](/guide/build#browser-compatibility)
88

9-
设置最终构建的浏览器兼容目标。默认值是一个 Vite 特有的值——`'modules'`,这是指 [支持原生 ES 模块](https://caniuse.com/es6-module)[原生 ESM 动态导入](https://caniuse.com/es6-module-dynamic-import)[`import.meta`](https://caniuse.com/mdn-javascript_operators_import_meta) 的浏览器。
9+
设置最终构建的浏览器兼容目标。默认值是一个 Vite 特有的值'modules'`,这是指 [支持原生 ES 模块](https://caniuse.com/es6-module)、[原生 ESM 动态导入](https://caniuse.com/es6-module-dynamic-import) 和 [`import.meta`](https://caniuse.com/mdn-javascript_operators_import_meta) 的浏览器。Vite 将替换 `modules``['es2020', 'edge88', 'firefox78', 'chrome87', 'safari14']`
1010

1111
另一个特殊值是 “esnext” —— 即假设有原生动态导入支持,并且将会转译得尽可能小:
1212

@@ -20,7 +20,7 @@
2020
## build.modulePreload {#build-modulepreload}
2121

2222
- **类型:** `boolean | { polyfill?: boolean, resolveDependencies?: ResolveModulePreloadDependenciesFn }`
23-
- **默认值:** `true`
23+
- **默认值:** `{ polyfill: true }`
2424

2525
默认情况下,一个 [模块预加载 polyfill](https://guybedford.com/es-module-preloading-integrity#modulepreload-polyfill) 会被自动注入。该 polyfill 会自动注入到每个 `index.html` 入口的的代理模块中。如果构建通过 `build.rollupOptions.input` 被配置为了使用非 HTML 入口的形式,那么必须要在你的自定义入口中手动引入该 polyfill:
2626

@@ -126,9 +126,9 @@ Git LFS 占位符会自动排除在内联之外,因为它们不包含它们所
126126
127127
## build.rollupOptions {#build-rollupoptions}
128128
129-
- **类型:** [`RollupOptions`](https://rollupjs.org/guide/en/#big-list-of-options)
129+
- **类型:** [`RollupOptions`](https://rollupjs.org/configuration-options/)
130130
131-
自定义底层的 Rollup 打包配置。这与从 Rollup 配置文件导出的选项相同,并将与 Vite 的内部 Rollup 选项合并。查看 [Rollup 选项文档](https://rollupjs.org/guide/en/#big-list-of-options) 获取更多细节。
131+
自定义底层的 Rollup 打包配置。这与从 Rollup 配置文件导出的选项相同,并将与 Vite 的内部 Rollup 选项合并。查看 [Rollup 选项文档](https://rollupjs.org/configuration-options/) 获取更多细节。
132132
133133
## build.commonjsOptions {#build-commonjsoptions}
134134
@@ -169,8 +169,8 @@ Git LFS 占位符会自动排除在内联之外,因为它们不包含它们所
169169
## build.ssr {#build-ssr}
170170
171171
- **类型:** `boolean | string`
172-
- **默认值:** `undefined`
173-
- **相关链接:** [Server-Side Rendering](/guide/ssr)
172+
- **默认值:** `false`
173+
- **相关链接:** [服务端渲染](/guide/ssr)
174174
175175
生成面向 SSR 的构建。此选项的值可以是字符串,用于直接定义 SSR 的入口,也可以为 `true`,但这需要通过设置 `rollupOptions.input` 来指定 SSR 的入口。
176176
@@ -233,7 +233,7 @@ npm add -D terser
233233
234234
## build.watch {#build-watch}
235235
236-
- **类型:** [`WatcherOptions`](https://rollupjs.org/guide/en/#watch-options)`| null`
236+
- **类型:** [`WatcherOptions`](https://rollupjs.org/configuration-options/#watch)`| null`
237237
- **默认:** `null`
238238
239239
设置为 `{}` 则会启用 rollup 的监听器。对于只在构建阶段或者集成流程使用的插件很常用。

config/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ export default defineConfig(async ({ command, mode }) => {
7878
})
7979
```
8080

81-
## 环境变量 {#environment-variables}
81+
## 在配置中使用环境变量 {#using-environment-variables-in-config}
8282

8383
环境变量通常可以从 `process.env` 获得。
8484

config/preview-options.md

+5-3
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,12 @@ export default defineConfig({
6060

6161
开发服务器启动时,自动在浏览器中打开应用程序。当该值为字符串时,它将被用作 URL 的路径名。如果你想在你喜欢的某个浏览器打开该开发服务器,你可以设置环境变量 `process.env.BROWSER` (例如 `firefox`)。欲了解更多细节,请参阅 [`open` 包的源码](https://github.com/sindresorhus/open#app)
6262

63+
`BROWSER``BROWSER_ARGS` 是两个特殊的环境变量,你可以在 `.env` 文件中设置它们用以配置本选项。查看 [`open` 这个包](https://github.com/sindresorhus/open#app) 了解更多详情。
64+
6365
## preview.proxy {#preview-proxy}
6466

6567
- **类型:** `Record<string, string | ProxyOptions>`
66-
- **默认:** [`server.proxy`](#server_proxy)
68+
- **默认:** [`server.proxy`](./server-options#server-proxy)
6769

6870
为开发服务器配置自定义代理规则。其值的结构为 `{ key: options }` 的对象。如果 key 以 `^` 开头,它将被识别为 `RegExp`,其中 `configure` 选项可用于访问代理实例。
6971

@@ -74,10 +76,10 @@ export default defineConfig({
7476
- **类型:** `boolean | CorsOptions`
7577
- **默认:** [`server.cors`](#server_proxy)
7678

77-
为开发服务器配置 CORS。此功能默认启用并支持任何来源。可传递一个 [options 对象](https://github.com/expressjs/cors) 来进行配置,或者传递 `false` 来禁用此行为。
79+
为开发服务器配置 CORS。此功能默认启用并支持任何来源。可传递一个 [options 对象](https://github.com/expressjs/cors#configuration-options) 来进行配置,或者传递 `false` 来禁用此行为。
7880

7981
## preview.headers {#preview-headers}
8082

8183
- **类型:** `OutgoingHttpHeaders`
8284

83-
指明服务器返回的响应头。
85+
指明服务器返回的响应头。

config/server-options.md

+5-3
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,9 @@ export default defineConfig({
6161

6262
- **类型:** `boolean | string`
6363

64-
在开发服务器启动时自动在浏览器中打开应用程序。当此值为字符串时,会被用作 URL 的路径名。若你想指定喜欢的浏览器打开服务器,你可以设置环境变量 `process.env.BROWSER`(例如:`firefox`)。查看 [这个 `open`](https://github.com/sindresorhus/open#app) 获取更多细节。
64+
开发服务器启动时,自动在浏览器中打开应用程序。当该值为字符串时,它将被用作 URL 的路径名。如果你想在你喜欢的某个浏览器打开该开发服务器,你可以设置环境变量 `process.env.BROWSER` (例如 `firefox`)。你还可以设置 `process.env.BROWSER_ARGS` 来传递额外的参数(例如 `--incognito`)。
65+
66+
`BROWSER``BROWSER_ARGS` 都是特殊的环境变量,你可以将它们放在 `.env` 文件中进行设置,欲了解更多打开浏览器的更多内部细节,请参阅 [`open` 包的源码](https://github.com/sindresorhus/open#app)
6567

6668
**示例:**
6769

@@ -127,7 +129,7 @@ export default defineConfig({
127129

128130
- **类型:** `boolean | CorsOptions`
129131

130-
为开发服务器配置 CORS。默认启用并允许任何源,传递一个 [选项对象](https://github.com/expressjs/cors) 来调整行为或设为 `false` 表示禁用。
132+
为开发服务器配置 CORS。默认启用并允许任何源,传递一个 [选项对象](https://github.com/expressjs/cors#configuration-options) 来调整行为或设为 `false` 表示禁用。
131133

132134
## server.headers {#server-headers}
133135

@@ -300,7 +302,7 @@ export default defineConfig({
300302
## server.fs.deny {#server-fs-deny}
301303

302304
- **类型:** `string[]`
303-
- **默认:** `['.env', '.env.*', '*.{pem,crt}']`
305+
- **默认:** `['.env', '.env.*', '*.{crt,pem}']`
304306

305307
用于限制 Vite 开发服务器提供敏感文件的黑名单。
306308

config/shared-options.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,11 @@
3333

3434
## define {#define}
3535

36-
- **类型:** `Record<string, string>`
36+
- **类型:** `Record<string, any>`
3737

3838
定义全局常量替换方式。其中每项在开发环境下会被定义在全局,而在构建时被静态替换。
3939

40-
- `2.0.0-beta.70` 开始,string 值会以原始表达式形式使用,所以如果定义了一个字符串常量,它需要被显式地打引号。(例如使用 `JSON.stringify`
40+
- String 值会以原始表达式形式使用,所以如果定义了一个字符串常量,**它需要被显式地打引号。**(例如使用 `JSON.stringify`
4141

4242
- 为了与 [esbuild 的行为](https://esbuild.github.io/api/#define)保持一致,表达式必须为一个 JSON 对象(null、boolean、number、string、数组或对象),亦或是一个单独的标识符。
4343

@@ -171,7 +171,7 @@ Vite 有一个“允许的情景”列表,并且会匹配列表中第一个情
171171
## resolve.extensions {#resolve-extensions}
172172

173173
- **类型:** `string[]`
174-
- **默认:** `['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json']`
174+
- **默认:** `['.mjs', '.js', '.mts', '.ts', '.jsx', '.tsx', '.json']`
175175

176176
导入时想要省略的扩展名列表。注意,**** 建议忽略自定义导入类型的扩展名(例如:`.vue`),因为它会影响 IDE 和类型支持。
177177

config/worker-options.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ worker 打包时的输出类型。
1313

1414
- **类型:** [`(Plugin | Plugin[])[]`](./shared-options#plugins)
1515

16-
应用于 worker 打包的 Vite 插件。注意 [config.plugins](./shared-options#plugins) 不会应用于 worker,而是应该在这里配置所用到的插件
16+
应用于 worker 打包的 Vite 插件。注意 [config.plugins](./shared-options#plugins) 仅会在开发(dev)阶段应用于 worker,若要配置在构建(build)阶段应用于 worker 的插件则应该在本选项这里配置
1717

1818
## worker.rollupOptions
1919

20-
- **类型:** [`RollupOptions`](https://rollupjs.org/guide/en/#big-list-of-options)
20+
- **类型:** [`RollupOptions`](https://rollupjs.org/configuration-options/)
2121

2222
用于打包 worker 的 Rollup 配置项。

guide/api-hmr.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,9 @@ if (import.meta.hot) {
7070
7171
“接受” 热更新的模块被认为是 **HMR 边界**。
7272
73-
请注意,Vite 的 HMR 实际上并不替换最初导入的模块:如果 HMR 边界模块从某个依赖重新导出其导入,则它应负责更新这些重新导出的模块(这些导出必须使用 `let`)。此外,从边界模块向上的导入者将不会收到更新。
73+
Vite 的 HMR 实际上并不替换最初导入的模块:如果 HMR 边界模块从某个依赖重新导出其导入,则它应负责更新这些重新导出的模块(这些导出必须使用 `let`)。此外,从边界模块向上的导入者将不会收到更新。这种简化的 HMR 实现对于大多数开发用例来说已经足够了,同时允许我们跳过生成代理模块的昂贵工作
7474
75-
这种简化的 HMR 实现对于大多数开发用例来说已经足够了,同时允许我们跳过生成代理模块的昂贵工作
75+
Vite 要求这个函数的调用在源代码中显示为 `import.meta.hot.accept(`(对空格敏感),这样模块才能接受更新。这是 Vite 为使模块支持 HMR 而进行的静态分析的一个要求
7676
7777
## `hot.accept(deps, cb)` {#hot-accept-deps-cb}
7878

guide/api-plugin.md

+12-12
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Vite 插件扩展了设计出色的 Rollup 接口,带有一些 Vite 独有的配置项。因此,你只需要编写一个 Vite 插件,就可以同时为开发环境和生产环境工作。
44

5-
**推荐在阅读下面的章节之前,首先阅读下 [Rollup 插件文档](https://rollupjs.org/guide/en/#plugin-development)**
5+
**推荐在阅读下面的章节之前,首先阅读下 [Rollup 插件文档](https://rollupjs.org/plugin-development/)**
66

77
## 致插件创作者 {#authoring-a-plugin}
88

@@ -17,7 +17,7 @@ Vite 努力秉承开箱即用的原则,因此在创作一款新插件前,请
1717

1818
## 约定 {#conventions}
1919

20-
如果插件不使用 Vite 特有的钩子,可以作为 [兼容 Rollup 的插件](#rollup-plugin-compatibility) 来实现,推荐使用 [Rollup 插件名称约定](https://rollupjs.org/guide/en/#conventions)
20+
如果插件不使用 Vite 特有的钩子,可以作为 [兼容 Rollup 的插件](#rollup-plugin-compatibility) 来实现,推荐使用 [Rollup 插件名称约定](https://rollupjs.org/plugin-development/#conventions)
2121

2222
- Rollup 插件应该有一个带 `rollup-plugin-` 前缀、语义清晰的名称。
2323
- 在 package.json 中包含 `rollup-plugin``vite-plugin` 关键字。
@@ -146,27 +146,27 @@ console.log(msg)
146146

147147
## 通用钩子 {#universal-hooks}
148148

149-
在开发中,Vite 开发服务器会创建一个插件容器来调用 [Rollup 构建钩子](https://rollupjs.org/guide/en/#build-hooks),与 Rollup 如出一辙。
149+
在开发中,Vite 开发服务器会创建一个插件容器来调用 [Rollup 构建钩子](https://rollupjs.org/plugin-development/#build-hooks),与 Rollup 如出一辙。
150150

151151
以下钩子在服务器启动时被调用:
152152

153-
- [`options`](https://rollupjs.org/guide/en/#options)
154-
- [`buildStart`](https://rollupjs.org/guide/en/#buildstart)
153+
- [`options`](https://rollupjs.org/plugin-development/#options)
154+
- [`buildStart`](https://rollupjs.org/plugin-development/#buildstart)
155155

156156
以下钩子会在每个传入模块请求时被调用:
157157

158-
- [`resolveId`](https://rollupjs.org/guide/en/#resolveid)
159-
- [`load`](https://rollupjs.org/guide/en/#load)
160-
- [`transform`](https://rollupjs.org/guide/en/#transform)
158+
- [`resolveId`](https://rollupjs.org/plugin-development/#resolveid)
159+
- [`load`](https://rollupjs.org/plugin-development/#load)
160+
- [`transform`](https://rollupjs.org/plugin-development/#transform)
161161

162162
以下钩子在服务器关闭时被调用:
163163

164-
- [`buildEnd`](https://rollupjs.org/guide/en/#buildend)
165-
- [`closeBundle`](https://rollupjs.org/guide/en/#closebundle)
164+
- [`buildEnd`](https://rollupjs.org/plugin-development/#buildend)
165+
- [`closeBundle`](https://rollupjs.org/plugin-development/#closebundle)
166166

167-
请注意 [`moduleParsed`](https://rollupjs.org/guide/en/#moduleparsed) 钩子在开发中是 **不会** 被调用的,因为 Vite 为了性能会避免完整的 AST 解析。
167+
请注意 [`moduleParsed`](https://rollupjs.org/plugin-development/#moduleparsed) 钩子在开发中是 **不会** 被调用的,因为 Vite 为了性能会避免完整的 AST 解析。
168168

169-
[Output Generation Hooks](https://rollupjs.org/guide/en/#output-generation-hooks)(除了 `closeBundle`) 在开发中是 **不会** 被调用的。你可以认为 Vite 的开发服务器只调用了 `rollup.rollup()` 而没有调用 `bundle.generate()`
169+
[Output Generation Hooks](https://rollupjs.org/plugin-development/#output-generation-hooks)(除了 `closeBundle`) 在开发中是 **不会** 被调用的。你可以认为 Vite 的开发服务器只调用了 `rollup.rollup()` 而没有调用 `bundle.generate()`
170170

171171
## Vite 独有钩子 {#vite-specific-hooks}
172172

guide/build.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,14 @@
3131

3232
## 自定义构建 {#customizing-the-build}
3333

34-
构建过程可以通过多种 [构建配置选项](/config/#build-options) 来自定义构建。具体来说,你可以通过 `build.rollupOptions` 直接调整底层的 [Rollup 选项](https://rollupjs.org/guide/en/#big-list-of-options)
34+
构建过程可以通过多种 [构建配置选项](/config/#build-options) 来自定义构建。具体来说,你可以通过 `build.rollupOptions` 直接调整底层的 [Rollup 选项](https://rollupjs.org/configuration-options/)
3535

3636
```js
3737
// vite.config.js
3838
export default defineConfig({
3939
build: {
4040
rollupOptions: {
41-
// https://rollupjs.org/guide/en/#big-list-of-options
41+
// https://rollupjs.org/configuration-options/
4242
},
4343
},
4444
})
@@ -48,7 +48,7 @@ export default defineConfig({
4848

4949
## 产物分块策略 {#chunking-strategy}
5050

51-
你可以通过配置 `build.rollupOptions.output.manualChunks` 来自定义 chunk 分割策略(查看 [Rollup 相应文档](https://rollupjs.org/guide/en/#outputmanualchunks))。在 Vite 2.8 及更早版本中,默认的策略是将 chunk 分割为 `index``vendor`。这对一些 SPA 来说是好的策略,但是要对所有应用场景提供一种通用解决方案是非常困难的。从 Vite 2.9 起,`manualChunks` 默认情况下不再被更改。你可以通过在配置文件中添加 `splitVendorChunkPlugin` 来继续使用 “分割 Vendor Chunk” 策略:
51+
你可以通过配置 `build.rollupOptions.output.manualChunks` 来自定义 chunk 分割策略(查看 [Rollup 相应文档](https://rollupjs.org/configuration-options/#output-manualchunks))。在 Vite 2.8 及更早版本中,默认的策略是将 chunk 分割为 `index``vendor`。这对一些 SPA 来说是好的策略,但是要对所有应用场景提供一种通用解决方案是非常困难的。从 Vite 2.9 起,`manualChunks` 默认情况下不再被更改。你可以通过在配置文件中添加 `splitVendorChunkPlugin` 来继续使用 “分割 Vendor Chunk” 策略:
5252

5353
```js
5454
// vite.config.js
@@ -62,14 +62,14 @@ export default defineConfig({
6262

6363
## 文件变化时重新构建 {#rebuild-on-files-changes}
6464

65-
你可以使用 `vite build --watch` 来启用 rollup 的监听器。或者,你可以直接通过 `build.watch` 调整底层的 [`WatcherOptions`](https://rollupjs.org/guide/en/#watch-options) 选项:
65+
你可以使用 `vite build --watch` 来启用 rollup 的监听器。或者,你可以直接通过 `build.watch` 调整底层的 [`WatcherOptions`](https://rollupjs.org/configuration-options/#watch) 选项:
6666

6767
```js
6868
// vite.config.js
6969
export default defineConfig({
7070
build: {
7171
watch: {
72-
// https://rollupjs.org/guide/en/#watch-options
72+
// https://rollupjs.org/configuration-options/#watch
7373
},
7474
},
7575
})

guide/cli.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
### `vite` {#vite}
66

7-
在当前目录下启动 Vite 开发服务器,将自动进入开发环境的观察模式和 CI 的运行模式
7+
在当前目录下启动 Vite 开发服务器。
88

99
#### 使用 {#usage}
1010

0 commit comments

Comments
 (0)