Skip to content

Commit e9e5c70

Browse files
docs(en): merge docs-cn/sync-docs into docs-cn/dev @ ed613bb
2 parents 3cbc31e + 1c4f981 commit e9e5c70

File tree

5 files changed

+47
-20
lines changed

5 files changed

+47
-20
lines changed

config/build-options.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -145,10 +145,10 @@ Git LFS 占位符会自动排除在内联之外,因为它们不包含它们所
145145
146146
## build.lib {#build-lib}
147147
148-
- **类型:** `{ entry: string, name?: string, formats?: ('es' | 'cjs' | 'umd' | 'iife')[], fileName?: string | ((format: ModuleFormat) => string) }`
148+
- **类型:** `{ entry: string | string[] | { [entryAlias: string]: string }, name?: string, formats?: ('es' | 'cjs' | 'umd' | 'iife')[], fileName?: string | ((format: ModuleFormat, entryName: string) => string) }`
149149
- **相关内容:** [库模式](/guide/build#library-mode)
150150
151-
构建为库。`entry` 是必须的因为库不能使用 HTML 作为入口。`name` 则是暴露的全局变量,在 `formats` 包含 `'umd'``'iife'` 时是必须的。默认 `formats``['es', 'umd']``fileName` 是输出的包文件名,默认 `fileName``package.json``name` 选项,同时,它还可以被定义为参数为 `format` 的函数。
151+
构建为库。`entry` 是必需的,因为库不能使用 HTML 作为入口。`name` 则是暴露的全局变量,在 `formats` 包含 `'umd'``'iife'` 时是必需的。默认 `formats``['es', 'umd']``fileName` 是输出的包文件名,默认 `fileName``package.json``name` 选项,同时,它还可以被定义为参数为 `format``entryAlias` 的函数。
152152
153153
## build.manifest {#build-manifest}
154154

guide/api-hmr.md

+14-1
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,19 @@ if (import.meta.hot) {
125125
126126
## `hot.invalidate()` {#hot-invalidate}
127127
128-
现在调用 `import.meta.hot.invalidate()` 只是重新加载页面。
128+
一个接收自身的模块可以在运行时意识到它不能处理 HMR 更新,因此需要将更新强制传递给导入者。通过调用 `import.meta.hot.invalidate()`,HMR 服务将使调用方的导入失效,就像调用方不是接收自身的一样。
129+
130+
请注意,你应该总是调用 `import.meta.hot.accept`,即使你打算随后立即调用 `invalidate`,否则 HMR 客户端将不会监听未来对接收自身模块的更改。为了清楚地表达你的意图,我们建议在 `accept` 回调中调用 `invalidate`,例如:
131+
132+
133+
```js
134+
import.meta.hot.accept((module) => {
135+
// 你可以使用新的模块实例来决定是否使其失效。
136+
if (cannotHandleUpdate(module)) {
137+
import.meta.hot.invalidate()
138+
}
139+
})
140+
```
129141
130142
## `hot.on(event, cb)` {#hot-onevent-cb}
131143
@@ -136,6 +148,7 @@ if (import.meta.hot) {
136148
- `'vite:beforeUpdate'` 当更新即将被应用时(例如,一个模块将被替换)
137149
- `'vite:beforeFullReload'` 当完整的重载即将发生时
138150
- `'vite:beforePrune'` 当不再需要的模块即将被剔除时
151+
- `'vite:invalidate'` 当使用 `import.meta.hot.invalidate()` 使一个模块失效时
139152
- `'vite:error'` 当发生错误时(例如,语法错误)
140153
141154
自定义 HMR 事件可以由插件发送。更多细节详见 [handleHotUpdate](./api-plugin#handleHotUpdate)。

guide/api-plugin.md

+6-15
Original file line numberDiff line numberDiff line change
@@ -594,21 +594,12 @@ export default defineConfig({
594594
595595
```ts
596596
// events.d.ts
597-
import 'vite'
598-
import 'vite/client/types'
597+
import 'vite/types/customEvent'
599598
600-
interface MyCustomEventMap {
601-
'custom:foo': { msg: string }
602-
// 'event-key': payload
603-
}
604-
605-
// extend interface for server-side
606-
declare module 'vite' {
607-
interface CustomEventMap extends MyCustomEventMap {}
608-
}
609-
610-
// extend interface for client-side
611-
declare module 'vite/client/types' {
612-
interface CustomEventMap extends MyCustomEventMap {}
599+
declare module 'vite/types/customEvent' {
600+
interface CustomEventMap {
601+
'custom:foo': { msg: string }
602+
// 'event-key': payload
603+
}
613604
}
614605
```

guide/build.md

+24-1
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ import { defineConfig } from 'vite'
128128
export default defineConfig({
129129
build: {
130130
lib: {
131+
// Could also be a dictionary or array of multiple entry points
131132
entry: resolve(__dirname, 'lib/main.js'),
132133
name: 'MyLib',
133134
// the proper extensions will be added
@@ -183,8 +184,30 @@ dist/my-lib.umd.cjs 0.30 KiB / gzip: 0.16 KiB
183184
}
184185
```
185186

187+
或者,如果暴露了多个入口起点:
188+
189+
```json
190+
{
191+
"name": "my-lib",
192+
"type": "module",
193+
"files": ["dist"],
194+
"main": "./dist/my-lib.cjs",
195+
"module": "./dist/my-lib.mjs",
196+
"exports": {
197+
".": {
198+
"import": "./dist/my-lib.mjs",
199+
"require": "./dist/my-lib.cjs"
200+
},
201+
"./secondary": {
202+
"import": "./dist/secondary.mjs",
203+
"require": "./dist/secondary.cjs"
204+
}
205+
}
206+
}
207+
```
208+
186209
::: tip 注意
187-
如果 `package.json` 不包含 `"type": "module"`,Vite 会生成不同的文件后缀名以兼容 Node.js。`.js` 会变为 `.mjs``.cjs` 会变为 `.js`.
210+
如果 `package.json` 不包含 `"type": "module"`,Vite 会生成不同的文件后缀名以兼容 Node.js。`.js` 会变为 `.mjs``.cjs` 会变为 `.js`
188211
:::
189212

190213
::: tip 环境变量

guide/static-deploy.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ $ npm run preview
8383
# echo 'www.example.com' > CNAME
8484
8585
git init
86-
git checkout -b main
86+
git checkout -B main
8787
git add -A
8888
git commit -m 'deploy'
8989

0 commit comments

Comments
 (0)