Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions guide/dep-pre-bundling.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,6 @@ Vite 将预构建的依赖项缓存到 `node_modules/.vite` 中。它会基于

已预构建的依赖请求使用 HTTP 头 `max-age=31536000, immutable` 进行强缓存,以提高开发期间页面重新加载的性能。一旦被缓存,这些请求将永远不会再次访问开发服务器。如果安装了不同版本的依赖项(这反映在包管理器的 lockfile 中),则会通过附加版本查询自动失效。如果你想通过本地编辑来调试依赖项,您可以:

1. 通过浏览器开发工具的 Network 选项卡暂时禁用缓存
2. 重启 Vite 开发服务器指定 `--force` 选项,来重新构建依赖项;
1. 通过浏览器开发工具的 Network 选项卡暂时禁用缓存
2. 重启 Vite 开发服务器指定 `--force` 选项,来重新构建依赖项
3. 重新载入页面。
2 changes: 1 addition & 1 deletion guide/features.md
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ HTML 文件位于 Vite 项目的[最前端和中心](/guide/#index-html-and-proj
- `<audio src>`
- `<embed src>`
- `<img src>` 和 `<img srcset>`
- `<image src>`
- `<image href>` 和 `<image xlink:href>`
- `<input src>`
- `<link href>` 和 `<link imagesrcset>`
- `<object data>`
Expand Down
2 changes: 1 addition & 1 deletion guide/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Vite 还提供了强大的扩展性,可通过其 [插件 API](./api-plugin)
## 搭建第一个 Vite 项目 {#scaffolding-your-first-vite-project}

::: tip 兼容性注意
Vite 需要 [Node.js](https://nodejs.org/en/) 版本 20+。然而,有些模板需要依赖更高的 Node 版本才能正常运行,当你的包管理器发出警告时,请注意升级你的 Node 版本。
Vite 需要 [Node.js](https://nodejs.org/en/) 版本 20.19+, 22.12+。然而,有些模板需要依赖更高的 Node 版本才能正常运行,当你的包管理器发出警告时,请注意升级你的 Node 版本。
:::

::: code-group
Expand Down
46 changes: 15 additions & 31 deletions guide/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,37 +4,6 @@

如果这里的建议并未帮助到你,请将你的问题发送到 [GitHub 讨论区](https://github.com/vitejs/vite/discussions) 或 [Vite Land Discord](https://chat.vite.dev) 的 `#help` 频道。

## CJS

### Vite CJS Node API deprecated {#vite-cjs-node-api-deprecated}

Vite 的 CJS Node API 构建已经被废弃,并将在 Vite 6 中移除。查看 [GitHub 讨论区](https://github.com/vitejs/vite/discussions/13928) 了解更多背景信息。你应该更新你的文件或框架来导入 Vite 的 ESM 构建。

在一个基础的 Vite 项目中,请确保:

1. `vite.config.js` 配置文件的内容使用 ESM 语法。
2. 最近的 `package.json` 文件中有 `"type": "module"`,或者使用 `.mjs`/`.mts` 扩展名,例如 `vite.config.mjs` 或者 `vite.config.mts`。

对于其他项目,有几种常见的方法:

- **配置 ESM 为默认,如果需要则选择 CJS:** 在项目 `package.json` 中添加 `"type": "module"`。所有 `*.js` 文件现在都被解释为 ESM,并且需要使用 ESM 语法。你可以将一个文件重命名为 `.cjs` 扩展名来继续使用 CJS。
- **保持 CJS 为默认,如果需要则选择 ESM:** 如果项目 `package.json` 没有 `"type": "module"`,所有 `*.js` 文件都被解释为 CJS。你可以将一个文件重命名为 `.mjs` 扩展名来使用 ESM。
- **动态导入 Vite:** 如果你需要继续使用 CJS,你可以使用 `import('vite')` 动态导入 Vite。这要求你的代码必须在一个 `async` 上下文中编写,但是由于 Vite 的 API 大多是异步的,所以应该还是可以管理的。

如果你不确定警告来自哪里,你可以通过 `VITE_CJS_TRACE=true` 标志运行你的脚本来记录堆栈跟踪:

```bash
VITE_CJS_TRACE=true vite dev
```

如果你想暂时忽略警告,你可以通过 `VITE_CJS_IGNORE_WARNING=true` 标志运行你的脚本:

```bash
VITE_CJS_IGNORE_WARNING=true vite dev
```

请注意,postcss 配置文件还不支持 ESM + TypeScript(`"type": "module"` 中的 `.mts` 或 `.ts`)。如果你有带 `.ts` 的 postcss 配置,并在 package.json 中添加了 `"type": "module"`,你还需要将 postcss 配置重命名为 `.cts`。

## CLI {#cli}

### `Error: Cannot find module 'C:\foo\bar&baz\vite\bin\vite.js'` {#error-cannot-find-module-cfoobarbazvitebinvitejs}
Expand Down Expand Up @@ -245,3 +214,18 @@ Vite 无法处理、也不支持仅可在非严格模式(sloppy mode)下运
- 通过 `mklink` 命令将符号链接/联接到另一个驱动器(例如 Yarn 全局缓存)

相关 issue:[#10802](https://github.com/vitejs/vite/issues/10802)

<script setup lang="ts">
// 使用哈希将旧链接重定向到旧版本文档
if (typeof window !== "undefined") {
const hashForOldVersion = {
'vite-cjs-node-api-deprecated': 6
}

const version = hashForOldVersion[location.hash.slice(1)]
if (version) {
// 更新 scheme 和端口,以便它在本地预览中工作(本地为 http 和 4173)
location.href = `https://v${version}.vite.dev` + location.pathname + location.search + location.hash
}
}
</script>