Skip to content

Commit

Permalink
release: v2.6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
QC-L authored Sep 29, 2021
2 parents 94e2168 + aa53e2f commit 7a8179b
Show file tree
Hide file tree
Showing 7 changed files with 55 additions and 18 deletions.
39 changes: 36 additions & 3 deletions config/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -554,6 +554,39 @@ createServer()
})
```

`server.fs.allow` 被设置时,工作区根目录的自动检索将被禁用。当需要扩展默认的行为时,你可以使用暴露出来的工具函数 `searchForWorkspaceRoot`

```js
import { defineConfig, searchForWorkspaceRoot } from 'vite'
export default defineConfig({
server: {
fs: {
allow: [
// 搜索工作区的根目录
searchForWorkspaceRoot(process.cwd()),
// 自定义规则
'/path/to/custom/allow'
]
}
}
})
```

### server.origin {#server-origin}

- **类型:** `string`

用于定义开发调试阶段生成资产的 origin。

```js
export default defineConfig({
server: {
origin: 'http://127.0.0.1:8080/'
}
})
```

## 构建选项 {#build-options}

### build.target {#build-target}
Expand All @@ -566,7 +599,7 @@ createServer()

另一个特殊值是 “esnext” —— 即假设有原生动态导入支持,并且将会转译得尽可能小:

- 如果 [`build.minify`](#build-minify) 选项为 `'terser'`(默认值)`'esnext'` 将会强制降级为 `'es2019'`
- 如果 [`build.minify`](#build-minify) 选项为 `'terser'``'esnext'` 将会强制降级为 `'es2019'`
- 其他情况下将完全不会执行转译。

转换过程将会由 esbuild 执行,并且此值应该是一个合法的 [esbuild 目标选项](https://esbuild.github.io/api/#target)。自定义目标也可以是一个 ES 版本(例如:`es2015`)、一个浏览器版本(例如:`chrome58`)或是多个目标组成的一个数组。
Expand Down Expand Up @@ -673,9 +706,9 @@ createServer()
### build.minify {#build-minify}

- **类型:** `boolean | 'terser' | 'esbuild'`
- **默认:** `'terser'`
- **默认:** `'esbuild'`

设置为 `false` 可以禁用最小化混淆,或是用来指定使用哪种混淆器。默认为 [Terser](https://github.com/terser/terser),虽然 Terser 相对较慢,但大多数情况下构建后的文件体积更小。ESbuild 最小化混淆更快但构建后的文件相对更大。
设置为 `false` 可以禁用最小化混淆,或是用来指定使用哪种混淆器。默认为 [Esbuild](https://github.com/evanw/esbuild),它比 terser 快 20-40 倍,压缩率只差 1%-2%。[Benchmarks](https://github.com/privatenumber/minification-benchmarks)

### build.terserOptions {#build-terseroptions}

Expand Down
2 changes: 1 addition & 1 deletion guide/assets.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ import InlineWorker from './shader.js?worker&inline'
[import.meta.url](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import.meta) 是一个 ESM 的原生功能,会暴露当前模块的 URL。将它与原生的 [URL 构造器](https://developer.mozilla.org/en-US/docs/Web/API/URL) 组合使用,在一个 JavaScript 模块中,通过相对路径我们就能得到一个被完整解析的静态资源 URL:

```js
const imgUrl = new URL('./img.png', import.meta.url)
const imgUrl = new URL('./img.png', import.meta.url).href

document.getElementById('hero-img').src = imgUrl
```
Expand Down
10 changes: 7 additions & 3 deletions guide/env-and-mode.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,15 +60,19 @@ VITE_SOME_KEY=123
要想做到这一点,你可以在 `src` 目录下创建一个 `env.d.ts` 文件,接着按下面这样增加 `ImportMetaEnv` 的定义:

```typescript
interface ImportMetaEnv {
VITE_APP_TITLE: string
interface ImportMetaEnv extends Readonly<Record<string, string>> {
readonly VITE_APP_TITLE: string
// 更多环境变量...
}

interface ImportMeta {
readonly env: ImportMetaEnv
}
```

## 模式 {#modes}

默认情况下,开发服务器 (`serve` 命令) 运行在 `development` (开发) 模式,而 `build` 命令运行在 `production` (生产) 模式。
默认情况下,开发服务器 (`dev` 命令) 运行在 `development` (开发) 模式,而 `build` 以及 `serve` 命令则运行在 `production` (生产) 模式。

这意味着当执行 `vite build` 时,它会自动加载 `.env.production` 中可能存在的环境变量:

Expand Down
2 changes: 1 addition & 1 deletion guide/features.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Vite 通过 HTTP 头来缓存请求得到的依赖,所以如果你想要编辑

## 模块热重载 {#hot-module-replacement}

Vite 提供了一套原生 ESM 的 [HMR API](./api-hmr)。 具有 HMR 功能的框架可以利用该 API 提供即时、准确的更新,而无需重新加载页面或清除应用程序状态。Vite 内置了 HMR 到 [Vue 单文件组件(SFC)](https://github.com/vitejs/vite/tree/main/packages/plugin-vue)[React Fast Refresh](https://github.com/vitejs/vite/tree/main/packages/plugin-react-refresh) 中。也通过 [@prefresh/vite](https://github.com/JoviDeCroock/prefresh/tree/main/packages/vite) 对 Preact 实现了官方集成。
Vite 提供了一套原生 ESM 的 [HMR API](./api-hmr)。 具有 HMR 功能的框架可以利用该 API 提供即时、准确的更新,而无需重新加载页面或清除应用程序状态。Vite 内置了 HMR 到 [Vue 单文件组件(SFC)](https://github.com/vitejs/vite/tree/main/packages/plugin-vue)[React Fast Refresh](https://github.com/vitejs/vite/tree/main/packages/plugin-react) 中。也通过 [@prefresh/vite](https://github.com/JoviDeCroock/prefresh/tree/main/packages/vite) 对 Preact 实现了官方集成。

注意,你不需要手动设置这些 —— 当你通过 [`create-vite`](./) 创建应用程序时,所选模板已经为你预先配置了这些。

Expand Down
16 changes: 8 additions & 8 deletions guide/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

## 总览 {#overview}

Vite (法语意为 "快速的",发音 `/vit/`<button id="play-vite-audio" onclick="document.getElementById('vite-audio').play();"><img src="/voice.svg" height="15"></button>) 是一种新型前端构建工具,能够显著提升前端开发体验。它主要由两部分组成:
Vite法语意为 "快速的",发音 `/vit/`<button id="play-vite-audio" onclick="document.getElementById('vite-audio').play();"><img src="/voice.svg" height="15"></button>,发音同 "veet")是一种新型前端构建工具,能够显著提升前端开发体验。它主要由两部分组成:

- 一个开发服务器,它基于 [原生 ES 模块](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules) 提供了 [丰富的内建功能](./features),如速度快到惊人的 [模块热更新(HMR)](./features#hot-module-replacement)

Expand Down Expand Up @@ -69,8 +69,8 @@ yarn create vite my-vue-app --template vue
- `react-ts`
- `preact`
- `preact-ts`
- `lit-element`
- `lit-element-ts`
- `lit`
- `lit-ts`
- `svelte`
- `svelte-ts`

Expand Down Expand Up @@ -126,18 +126,18 @@ Vite 也支持多个 `.html` 作入口点的 [多页面应用模式](./build#mul

## 使用未发布的功能 {#using-unreleased-commits}

如果你迫不及待想要体验最新的功能,可以自行克隆 [vite 仓库](https://github.com/vitejs/vite) 到本地机器上然后自行将其链接(将需要 [Yarn 1.x](https://classic.yarnpkg.com/lang/en/)):
如果你迫不及待想要体验最新的功能,可以自行克隆 [vite 仓库](https://github.com/vitejs/vite) 到本地机器上然后自行将其链接(将需要 [pnpm](https://pnpm.io/)):

```bash
git clone https://github.com/vitejs/vite.git
cd vite
yarn
pnpm install
cd packages/vite
yarn build
yarn link
pnpm run build
pnpm link # you can use your preferred package manager for this step
```

然后,回到你的 Vite 项目并运行 `yarn link vite`。重新启动开发服务器(`yarn dev`)来体验新功能吧
然后,回到你的 Vite 项目并运行 `pnpm link vite`(或者使用全局的软链来链接 `vite`)。重新启动开发服务器来体验新功能吧

## 社区 {#community}

Expand Down
Binary file modified images/vite-plugin-inspect.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions plugins/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ Vite 旨在为常见的 web 开发工作提供开箱即用的支持。在搜索

- 提供 Vue 3 JSX 支持(通过 [专用的 Babel 转换插件](https://github.com/vuejs/jsx-next))。

### [@vitejs/plugin-react-refresh](https://github.com/vitejs/vite/tree/main/packages/plugin-react-refresh) {#vitejsplugin-react-refresh}
### [@vitejs/plugin-react](https://github.com/vitejs/vite/tree/main/packages/plugin-react-refresh) {#vitejsplugin-react}

- 提供 React Fast Refresh 支持
- 提供完整的 React 支持

### [@vitejs/plugin-legacy](https://github.com/vitejs/vite/tree/main/packages/plugin-legacy) {#vitejsplugin-legacy}

Expand Down

0 comments on commit 7a8179b

Please sign in to comment.