File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1515- Firefox >=114
1616- Safari >=16.4
1717
18- 你也可以通过 [ ` build.target ` 配置项] ( /config/build-options.md#build-target ) 指定构建目标,最低支持 ` es2015 ` 。如果设置较低的目标值,Vite 仍然需要这些最低的浏览器支持范围,因为它依赖于[ 原生的 ESM 动态导入] ( https://caniuse.com/es6-module-dynamic-import ) 和 [ ` import.meta ` ] ( https://caniuse.com/mdn-javascript_operators_import_meta ) :
18+ 你也可以通过 [ ` build.target ` 配置项] ( /config/build-options.md#build-target ) 指定构建目标,最低支持 ` es2015 ` 。如果设置较低的目标值,Vite 仍然需要这些最低的浏览器支持范围,因为它依赖于 [ 原生的 ESM 动态导入] ( https://caniuse.com/es6-module-dynamic-import ) 和 [ ` import.meta ` ] ( https://caniuse.com/mdn-javascript_operators_import_meta ) :
1919
2020<!-- 查找 `defaultEsbuildSupported` 常量以获取更多信息。 -->
2121
2424- Safari >=11.1
2525- Edge >=79
2626
27- 请注意,默认情况下 Vite 只处理语法转译,且 ** 不包含任何 polyfill** 。你可以访问 https://cdnjs.cloudflare.com/polyfill/ ,这个网站可以根据用户的浏览器 UserAgent 字符串自动生成 polyfill 包。
27+ 请注意,默认情况下 Vite 只处理语法转译,且 ** 不包含任何 polyfill** 。你可以访问 < https://cdnjs.cloudflare.com/polyfill/ > ,这个网站可以根据用户的浏览器 UserAgent 字符串自动生成 polyfill 包。
2828
2929传统浏览器可以通过插件 [ @vitejs/plugin-legacy ] ( https://github.com/vitejs/vite/tree/main/packages/plugin-legacy ) 来支持,它将自动生成传统版本的 chunk 及与其相对应 ES 语言特性方面的 polyfill。兼容版的 chunk 只会在不支持原生 ESM 的浏览器中进行按需加载。
3030
@@ -269,7 +269,7 @@ dist/my-lib.umd.cjs 0.30 kB / gzip: 0.16 kB
269269
270270### CSS 支持 {#css-support}
271271
272- 如果您的库导入了 CSS,除了内置的 JS 文件外,它还将作为一个 CSS 文件打包在一起,例如 ` dist/ my- lib .css ` 。文件名默认为 ` build .lib .fileName ` ,但也可以使用 [` build .lib .cssFileName ` ](/config/build-options.md#build-lib)进行更改。
272+ 如果您的库导入了 CSS,除了内置的 JS 文件外,它还将作为一个 CSS 文件打包在一起,例如 ` dist/ my- lib .css ` 。文件名默认为 ` build .lib .fileName ` ,但也可以使用 [` build .lib .cssFileName ` ](/config/build-options.md#build-lib) 进行更改。
273273
274274您可以在 ` package .json ` 中导出 CSS 文件,以便用户导入:
275275
@@ -291,7 +291,7 @@ dist/my-lib.umd.cjs 0.30 kB / gzip: 0.16 kB
291291` ` `
292292
293293::: tip 文件扩展名
294- 如果 ` package .json ` 不包含 ` " type" : " module" ` ,Vite 会生成不同的文件后缀名以兼容 Node.js。` .js ` 会变为 ` .mjs ` 而 ` .cjs ` 会变为 ` .js ` 。
294+ 如果 ` package .json ` 不包含 ` " type" : " module" ` ,Vite 会生成不同的文件后缀名以兼容 Node.js。` .js ` 会变为 ` .mjs ` 而 ` .cjs ` 会变为 ` .js ` 。
295295:::
296296
297297::: tip 环境变量
Original file line number Diff line number Diff line change 44
55## 原因 {#the-why}
66
7- 这就是 Vite 执行时所做的“依赖预构建”。这个过程有两个目的:
7+ 这就是 Vite 执行时所做的“依赖预构建”。这个过程有两个目的:
88
991 . ** CommonJS 和 UMD 兼容性:** 在开发阶段中,Vite 的开发服务器将所有代码视为原生 ES 模块。因此,Vite 必须先将以 CommonJS 或 UMD 形式提供的依赖项转换为 ES 模块。
1010
3333
3434## Monorepo 和链接依赖 {#monorepos-and-linked-dependencies}
3535
36- 在一个 monorepo 启动中 ,该仓库中的某个包可能会成为另一个包的依赖。Vite 会自动侦测没有从 ` node_modules ` 解析的依赖项,并将链接的依赖视为源码。它不会尝试打包被链接的依赖,而是会分析被链接依赖的依赖列表。
36+ 在一个 monorepo 项目中 ,该仓库中的某个包可能会成为另一个包的依赖。Vite 会自动侦测没有从 ` node_modules ` 解析的依赖项,并将链接的依赖视为源码。它不会尝试打包被链接的依赖,而是会分析被链接依赖的依赖列表。
3737
3838然而,这需要被链接的依赖被导出为 ESM 格式。如果不是,那么你可以在配置里将此依赖添加到 [ ` optimizeDeps.include ` ] ( /config/dep-optimization-options.md#optimizedeps-include ) 中。
3939
Original file line number Diff line number Diff line change @@ -19,9 +19,9 @@ if (import.meta.env.DEV) {
1919
2020一些内置常量在所有情况下都可用:
2121
22- - **` import .meta.env.MODE` **: {string} 应用运行的[模式](#modes)。
22+ - **` import .meta.env.MODE` **: {string} 应用运行的 [模式](#modes)。
2323
24- - **` import.meta.env.BASE_URL` **: {string} 部署应用时的基本 URL。他由 [` base` 配置项](/config/shared-options.md#base)决定。
24+ - **` import.meta.env.BASE_URL` **: {string} 部署应用时的基本 URL。该值由 [` base` 配置项](/config/shared-options.md#base) 决定。
2525
2626- **` import.meta.env.PROD` **: {boolean} 应用是否运行在生产环境(使用 ` NODE_ENV=' production' ` 运行开发服务器或构建应用时使用 ` NODE_ENV=' production' ` )。
2727
@@ -102,7 +102,7 @@ NEW_KEY3=test$KEY # test123
102102::: details 反向扩展变量
103103
104104Vite 支持以相反的顺序扩展变量。
105- 例如,下面的 ` .env ` 将被评估为 ` VITE_FOO = foobar` , ` VITE_BAR = bar` 。
105+ 例如,下面的 ` .env ` 将被评估为 ` VITE_FOO = foobar` 、 ` VITE_BAR = bar` 。
106106
107107` ` ` [.env ]
108108VITE_FOO = foo${VITE_BAR }
@@ -168,7 +168,7 @@ Vite 还支持在 HTML 文件中替换环境变量。`import.meta.env` 中的任
168168< p> Using data from % VITE_API_URL % < / p>
169169` ` `
170170
171- 如果环境变量在 ` import .meta.env` 中不存在,比如不存在的 ` %NON_EXISTENT%` ,则会将被忽略而不被替换 ,这与 JS 中的 ` import.meta.env.NON_EXISTENT` 不同,JS 中会被替换为 ` undefined` 。
171+ 如果环境变量在 ` import .meta.env` 中不存在,比如不存在的 ` %NON_EXISTENT%` ,则会被忽略而不被替换 ,这与 JS 中的 ` import.meta.env.NON_EXISTENT` 不同,JS 中会被替换为 ` undefined` 。
172172
173173正因为 Vite 被许多框架使用,它在复杂的替换(如条件替换)上故意不持任何意见。Vite 可以使用 [现有的用户插件](https://github.com/vitejs/awesome-vite#transformers) 或者一个实现了 [` transformIndexHtml ` 钩子](./api-plugin#transformindexhtml) 的自定义插件来扩展。
174174
You can’t perform that action at this time.
0 commit comments