Skip to content

Commit e783d46

Browse files
docs(en): merge docs-cn/sync-docs into docs-cn/dev @ 638b251
2 parents 53b11d7 + 83d24c9 commit e783d46

File tree

2 files changed

+26
-8
lines changed

2 files changed

+26
-8
lines changed

guide/api-javascript.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ interface ViteDevServer {
9292
*/
9393
ssrLoadModule(
9494
url: string,
95-
options?: { isolated?: boolean }
95+
options?: { fixStacktrace?: boolean }
9696
): Promise<Record<string, any>>
9797
/**
9898
* 解决 ssr 错误堆栈信息

guide/dep-pre-bundling.md

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
当你首次启动 `vite` 时,你可能会注意到打印出了以下信息:
44

55
```
6-
Optimizable dependencies detected: (侦测到可优化的依赖:)
7-
react, react-dom
8-
Pre-bundling them to speed up dev server page load...(将预构建它们以提升开发服务器页面加载速度)
9-
(this will be run only when your dependencies have changed)(这将只会在你的依赖发生变化时执行
6+
Pre-bundling dependencies: (正在预构建依赖:)
7+
react,
8+
react-dom
9+
(this will be run only when your dependencies or config have changed)(这将只会在你的依赖或配置发生变化时执行
1010
```
1111

1212
## 原因 {#the-why}
@@ -28,6 +28,8 @@ Pre-bundling them to speed up dev server page load...(将预构建它们以提
2828

2929
通过预构建 `lodash-es` 成为一个模块,我们就只需要一个 HTTP 请求了!
3030

31+
请注意,这只会应用在开发模式下。
32+
3133
## 自动依赖搜寻 {#automatic-dependency-discovery}
3234

3335
如果没有找到相应的缓存,Vite 将抓取你的源码,并自动寻找引入的依赖项(即 "bare import",表示期望从 `node_modules` 解析),并将这些依赖项作为预构建包的入口点。预构建通过 `esbuild` 执行,所以它通常非常快。
@@ -38,9 +40,25 @@ Pre-bundling them to speed up dev server page load...(将预构建它们以提
3840

3941
在一个 monorepo 启动中,该仓库中的某个依赖可能会成为另一个包的依赖。Vite 会自动侦测没有从 `node_modules` 解析的依赖项,并将链接的依赖视为源码。它不会尝试打包被链接的依赖,而是会分析被链接依赖的依赖列表。
4042

41-
::: warning Note
42-
由于依赖关系的处理方式不同,链接的依赖关系在最终构建时可能无法正常工作。
43-
使用 `npm pack` 代替所有本地依赖,以避免最终打包时出现问题。(`npm pack` 只有在链接的源代码或包只导出 CJS 代码时才需要。如果它导出 ESM 代码,则不需要使用它。
43+
然而,这需要被链接的依赖被导出为 ESM 格式。如果不是,那么你可以在配置里将此依赖添加到 [`optimizeDeps.include`](/config/#optimizedeps-include)[`build.commonjsOptions.include`](/config/#build-commonjsoptions) 这两项中。
44+
45+
```js
46+
export default defineConfig({
47+
optimizeDeps: {
48+
include: ['linked-dep']
49+
},
50+
build: {
51+
commonjsOptions: {
52+
include: [/linked-dep/, /node_modules/]
53+
}
54+
}
55+
})
56+
```
57+
58+
当这个被链接的依赖发生变更后,在重启开发服务器时在命令中带上 `--force` 选项让所有更改生效。
59+
60+
::: warning 重复删除
61+
由于对链接依赖的解析方式不同,传递性的依赖项可能会不正确地进行重复数据删除,而造成运行时的问题。如果你偶然发现了这个问题,请使用 `npm pack` 来修复它。
4462
:::
4563

4664
## 自定义行为 {#customizing-the-behavior}

0 commit comments

Comments
 (0)