From 7237cc927fe26097732451fe91e8fb4967279095 Mon Sep 17 00:00:00 2001 From: patak Date: Fri, 11 Aug 2023 08:16:54 +0200 Subject: [PATCH 1/4] docs: viteconf 23 link (#14075) --- .vitepress/theme/components/AsideSponsors.vue | 63 +++++++++++++++++++ index.md | 3 + public/viteconf.svg | 25 +++++++- 3 files changed, 90 insertions(+), 1 deletion(-) diff --git a/.vitepress/theme/components/AsideSponsors.vue b/.vitepress/theme/components/AsideSponsors.vue index 90e6adda..dcaf4492 100644 --- a/.vitepress/theme/components/AsideSponsors.vue +++ b/.vitepress/theme/components/AsideSponsors.vue @@ -18,5 +18,68 @@ const sponsors = computed(() => { + + diff --git a/index.md b/index.md index bdf716bc..07d3c0a0 100644 --- a/index.md +++ b/index.md @@ -21,6 +21,9 @@ hero: - theme: alt text: View on GitHub link: https://github.com/vitejs/vite + - theme: brand + text: ViteConf 23! + link: https://viteconf.org/23 features: - icon: 💡 diff --git a/public/viteconf.svg b/public/viteconf.svg index a01c0bd2..2ca20c23 100644 --- a/public/viteconf.svg +++ b/public/viteconf.svg @@ -1 +1,24 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + From f78f5e3ead9759a8428094c876b9adbd74374eb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20S=C3=A1nchez?= Date: Fri, 11 Aug 2023 17:40:33 +0200 Subject: [PATCH 2/4] docs(cli): include `--profile` option (#14079) --- guide/cli.md | 38 ++++++++++++++++++++------------------ guide/troubleshooting.md | 22 ++++++++++++++++++++++ 2 files changed, 42 insertions(+), 18 deletions(-) diff --git a/guide/cli.md b/guide/cli.md index 05061070..497ad661 100644 --- a/guide/cli.md +++ b/guide/cli.md @@ -14,24 +14,25 @@ vite [root] #### Options -| Options | | -| ------------------------ | ----------------------------------------------------------------- | -| `--host [host]` | Specify hostname (`string`) | -| `--port ` | Specify port (`number`) | -| `--https` | Use TLS + HTTP/2 (`boolean`) | -| `--open [path]` | Open browser on startup (`boolean \| string`) | -| `--cors` | Enable CORS (`boolean`) | -| `--strictPort` | Exit if specified port is already in use (`boolean`) | -| `--force` | Force the optimizer to ignore the cache and re-bundle (`boolean`) | -| `-c, --config ` | Use specified config file (`string`) | -| `--base ` | Public base path (default: `/`) (`string`) | -| `-l, --logLevel ` | Info \| warn \| error \| silent (`string`) | -| `--clearScreen` | Allow/disable clear screen when logging (`boolean`) | -| `-d, --debug [feat]` | Show debug logs (`string \| boolean`) | -| `-f, --filter ` | Filter debug logs (`string`) | -| `-m, --mode ` | Set env mode (`string`) | -| `-h, --help` | Display available CLI options | -| `-v, --version` | Display version number | +| Options | | +| ------------------------ | ------------------------------------------------------------------------------------------------------------------ | +| `--host [host]` | Specify hostname (`string`) | +| `--port ` | Specify port (`number`) | +| `--https` | Use TLS + HTTP/2 (`boolean`) | +| `--open [path]` | Open browser on startup (`boolean \| string`) | +| `--cors` | Enable CORS (`boolean`) | +| `--strictPort` | Exit if specified port is already in use (`boolean`) | +| `--force` | Force the optimizer to ignore the cache and re-bundle (`boolean`) | +| `-c, --config ` | Use specified config file (`string`) | +| `--base ` | Public base path (default: `/`) (`string`) | +| `-l, --logLevel ` | Info \| warn \| error \| silent (`string`) | +| `--clearScreen` | Allow/disable clear screen when logging (`boolean`) | +| `--profile` | Start built-in Node.js inspector (check [Performance bottlenecks](/guide/troubleshooting#performance-bottlenecks)) | +| `-d, --debug [feat]` | Show debug logs (`string \| boolean`) | +| `-f, --filter ` | Filter debug logs (`string`) | +| `-m, --mode ` | Set env mode (`string`) | +| `-h, --help` | Display available CLI options | +| `-v, --version` | Display version number | ## Build @@ -65,6 +66,7 @@ vite build [root] | `--base ` | Public base path (default: `/`) (`string`) | | `-l, --logLevel ` | Info \| warn \| error \| silent (`string`) | | `--clearScreen` | Allow/disable clear screen when logging (`boolean`) | +| `--profile` | Start built-in Node.js inspector (check [Performance bottlenecks](/guide/troubleshooting#performance-bottlenecks)) | | `-d, --debug [feat]` | Show debug logs (`string \| boolean`) | | `-f, --filter ` | Filter debug logs (`string`) | | `-m, --mode ` | Set env mode (`string`) | diff --git a/guide/troubleshooting.md b/guide/troubleshooting.md index 41089024..75af887e 100644 --- a/guide/troubleshooting.md +++ b/guide/troubleshooting.md @@ -144,6 +144,28 @@ You will need to access the file with `http` protocol. The easiest way to achiev The hash key used to invalidate optimized dependencies depend on the package lock contents, the patches applied to dependencies, and the options in the Vite config file that affects the bundling of node modules. This means that Vite will detect when a dependency is overridden using a feature as [npm overrides](https://docs.npmjs.com/cli/v9/configuring-npm/package-json#overrides), and re-bundle your dependencies on the next server start. Vite won't invalidate the dependencies when you use a feature like [npm link](https://docs.npmjs.com/cli/v9/commands/npm-link). In case you link or unlink a dependency, you'll need to force re-optimization on the next server start by using `vite --force`. We recommend using overrides instead, which are supported now by every package manager (see also [pnpm overrides](https://pnpm.io/package_json#pnpmoverrides) and [yarn resolutions](https://yarnpkg.com/configuration/manifest/#resolutions)). +## Performance bottlenecks + +If you suffer any application performance bottlenecks resulting in slow load times, you can start the built-in Node.js inspector with your Vite dev server or when building your application to create the CPU profile: + +::: code-group + +```bash [dev server] +vite --profile --open +``` + +```bash [build] +vite build --profile +``` + +::: + +::: tip Vite Dev Server +Once your application is opened in the browser, just await finish loading it and then go back to the terminal and press `p` key (will stop the Node.js inspector) then press `q` key to stop the dev server. +::: + +Node.js inspector will generate `vite-profile-0.cpuprofile` in the root folder, go to https://www.speedscope.app/, and upload the CPU profile using the `BROWSE` button to inspect the result. + ## Others ### Module externalized for browser compatibility From d508009a71058d02563d45e4e519f44453d414c0 Mon Sep 17 00:00:00 2001 From: patak Date: Fri, 11 Aug 2023 20:53:26 +0200 Subject: [PATCH 3/4] docs: icon in ViteConf action --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 07d3c0a0..fb683307 100644 --- a/index.md +++ b/index.md @@ -22,7 +22,7 @@ hero: text: View on GitHub link: https://github.com/vitejs/vite - theme: brand - text: ViteConf 23! + text: 🎉 ViteConf 23! link: https://viteconf.org/23 features: From fb5f4c2d2d5a3a1fbac117b5f896e42e7a88b858 Mon Sep 17 00:00:00 2001 From: waynzh Date: Sun, 13 Aug 2023 13:35:08 +0800 Subject: [PATCH 4/4] docs(cn): resolve conflicts --- guide/cli.md | 54 +++------------------------------------- guide/troubleshooting.md | 18 ++++++-------- 2 files changed, 11 insertions(+), 61 deletions(-) diff --git a/guide/cli.md b/guide/cli.md index 129348d0..be359d17 100644 --- a/guide/cli.md +++ b/guide/cli.md @@ -14,9 +14,8 @@ vite [root] #### 选项 {#options} -<<<<<<< HEAD -| 选项 | | -| ------------------------ | ------------------------------------------- | +| 选项 | | +| ------------------------ | -------------------------------------------------------------------------------------- | | `--host [host]` | 指定主机名称 (`string`) | | `--port ` | 指定端口 (`number`) | | `--https` | 使用 TLS + HTTP/2 (`boolean`) | @@ -28,32 +27,12 @@ vite [root] | `--base ` | 公共基础路径(默认为:`/`)(`string`) | | `-l, --logLevel ` | Info \| warn \| error \| silent (`string`) | | `--clearScreen` | 允许或禁用打印日志时清除屏幕 (`boolean`) | +| `--profile` | 启动内置的 Node.js 调试器(查看 [性能瓶颈](/guide/troubleshooting#performance-bottlenecks))| | `-d, --debug [feat]` | 显示调试日志 (`string \| boolean`) | | `-f, --filter ` | 过滤调试日志 (`string`) | | `-m, --mode ` | 设置环境模式 (`string`) | | `-h, --help` | 显示可用的 CLI 选项 | | `-v, --version` | 显示版本号 | -======= -| Options | | -| ------------------------ | ------------------------------------------------------------------------------------------------------------------ | -| `--host [host]` | Specify hostname (`string`) | -| `--port ` | Specify port (`number`) | -| `--https` | Use TLS + HTTP/2 (`boolean`) | -| `--open [path]` | Open browser on startup (`boolean \| string`) | -| `--cors` | Enable CORS (`boolean`) | -| `--strictPort` | Exit if specified port is already in use (`boolean`) | -| `--force` | Force the optimizer to ignore the cache and re-bundle (`boolean`) | -| `-c, --config ` | Use specified config file (`string`) | -| `--base ` | Public base path (default: `/`) (`string`) | -| `-l, --logLevel ` | Info \| warn \| error \| silent (`string`) | -| `--clearScreen` | Allow/disable clear screen when logging (`boolean`) | -| `--profile` | Start built-in Node.js inspector (check [Performance bottlenecks](/guide/troubleshooting#performance-bottlenecks)) | -| `-d, --debug [feat]` | Show debug logs (`string \| boolean`) | -| `-f, --filter ` | Filter debug logs (`string`) | -| `-m, --mode ` | Set env mode (`string`) | -| `-h, --help` | Display available CLI options | -| `-v, --version` | Display version number | ->>>>>>> d508009a71058d02563d45e4e519f44453d414c0 ## 构建 {#build} @@ -69,7 +48,6 @@ vite build [root] #### 选项 {#options-1} -<<<<<<< HEAD | 选项 | | | ------------------------------ | -------------------------------------------------------------------------------------------- | | `--target ` | 编译目标(默认为:`"modules"`)(`string`) | @@ -88,35 +66,11 @@ vite build [root] | `--base ` | 公共基础路径(默认为:`/`)(`string`) | | `-l, --logLevel ` | Info \| warn \| error \| silent (`string`) | | `--clearScreen` | 允许或禁用打印日志时清除屏幕 (`boolean`) | +| `--profile` | 启动内置的 Node.js 调试器(查看 [性能瓶颈](/guide/troubleshooting#performance-bottlenecks))| | `-d, --debug [feat]` | 显示调试日志 (`string \| boolean`) | | `-f, --filter ` | 过滤调试日志 (`string`) | | `-m, --mode ` | 设置环境模式 (`string`) | | `-h, --help` | 显示可用的 CLI 选项 | -======= -| Options | | -| ------------------------------ | ------------------------------------------------------------------------------------------------------------------- | -| `--target ` | Transpile target (default: `"modules"`) (`string`) | -| `--outDir ` | Output directory (default: `dist`) (`string`) | -| `--assetsDir ` | Directory under outDir to place assets in (default: `"assets"`) (`string`) | -| `--assetsInlineLimit ` | Static asset base64 inline threshold in bytes (default: `4096`) (`number`) | -| `--ssr [entry]` | Build specified entry for server-side rendering (`string`) | -| `--sourcemap [output]` | Output source maps for build (default: `false`) (`boolean \| "inline" \| "hidden"`) | -| `--minify [minifier]` | Enable/disable minification, or specify minifier to use (default: `"esbuild"`) (`boolean \| "terser" \| "esbuild"`) | -| `--manifest [name]` | Emit build manifest json (`boolean \| string`) | -| `--ssrManifest [name]` | Emit ssr manifest json (`boolean \| string`) | -| `--force` | Force the optimizer to ignore the cache and re-bundle (experimental)(`boolean`) | -| `--emptyOutDir` | Force empty outDir when it's outside of root (`boolean`) | -| `-w, --watch` | Rebuilds when modules have changed on disk (`boolean`) | -| `-c, --config ` | Use specified config file (`string`) | -| `--base ` | Public base path (default: `/`) (`string`) | -| `-l, --logLevel ` | Info \| warn \| error \| silent (`string`) | -| `--clearScreen` | Allow/disable clear screen when logging (`boolean`) | -| `--profile` | Start built-in Node.js inspector (check [Performance bottlenecks](/guide/troubleshooting#performance-bottlenecks)) | -| `-d, --debug [feat]` | Show debug logs (`string \| boolean`) | -| `-f, --filter ` | Filter debug logs (`string`) | -| `-m, --mode ` | Set env mode (`string`) | -| `-h, --help` | Display available CLI options | ->>>>>>> d508009a71058d02563d45e4e519f44453d414c0 ## 其他 {#others} diff --git a/guide/troubleshooting.md b/guide/troubleshooting.md index b17086ab..760cf031 100644 --- a/guide/troubleshooting.md +++ b/guide/troubleshooting.md @@ -144,12 +144,9 @@ import './Foo.js' // 应该为 './foo.js' 在 Vite 中通过一个哈希值来决定优化后的依赖项是否有效,这个值取决于包锁定的内容、应用于依赖项的补丁以及 Vite 配置文件中影响 node_modules 打包的选项。这意味着,当使用像 [npm overrides](https://docs.npmjs.com/cli/v9/configuring-npm/package-json#overrides) 这样的功能覆盖依赖项时,Vite 将检测到,并在下一次服务器启动时重新打包您的依赖项。当您使用像 [npm link](https://docs.npmjs.com/cli/v9/commands/npm-link) 这样的功能时,Vite 不会使依赖项无效。如果您链接或取消链接一个依赖项,那么您需要使用 `vite --force` 在下一次服务器启动时强制重新预构建。我们建议使用 overrides,它们现在被每个包管理器所支持(还可以参见 [pnpm overrides](https://pnpm.io/package_json#pnpmoverrides) 和 [yarn resolutions](https://yarnpkg.com/configuration/manifest/#resolutions))。 -<<<<<<< HEAD -## 其他 {#others} -======= -## Performance bottlenecks +## 性能瓶颈 {#performance-bottlenecks} -If you suffer any application performance bottlenecks resulting in slow load times, you can start the built-in Node.js inspector with your Vite dev server or when building your application to create the CPU profile: +如果你遇到应用程序性能瓶颈导致加载缓慢,可以在启动 Vite 开发服务器或在构建应用程序时使用内置的 Node.js 调试器来创建 CPU 性能分析文件: ::: code-group @@ -163,16 +160,15 @@ vite build --profile ::: -::: tip Vite Dev Server -Once your application is opened in the browser, just await finish loading it and then go back to the terminal and press `p` key (will stop the Node.js inspector) then press `q` key to stop the dev server. +::: tip Vite 开发服务器 +一旦应用程序在浏览器中打开,请等待其完成加载,然后返回终端并按下 `p` 键(将停止 Node.js 调试器),然后按下 `q` 键停止开发服务器。 ::: -Node.js inspector will generate `vite-profile-0.cpuprofile` in the root folder, go to https://www.speedscope.app/, and upload the CPU profile using the `BROWSE` button to inspect the result. +Node.js 调试器将在根文件夹中生成 `vite-profile-0.cpuprofile` 文件,前往 https://www.speedscope.app/,点击 `BROWSE` 按钮上传 CPU 性能分析文件以检查结果。 -## Others ->>>>>>> d508009a71058d02563d45e4e519f44453d414c0 +## 其他 {#others} -### Module externalized for browser compatibility {#module-externalized-for-browser-compatibility} +### 为了浏览器兼容性而模块外部化 {#module-externalized-for-browser-compatibility} 当你在浏览器中使用一个 Node.js 模块时,Vite 会输出以下警告: