作者原话:
Vite,一个基于浏览器原生 ES imports 的开发服务器。利用浏览器去解析 imports,在服务器端按需编译返回,完全跳过了打包这个概念,服务器随起随用。同时不仅有 Vue 文件支持,还搞定了热更新,而且热更新的速度不会随着模块增多而变慢。针对生产环境则可以把同一份代码用 rollup 打包。虽然现在还比较粗糙,但这个方向我觉得是有潜力的,做得好可以彻底解决改一行代码等半天热更新的问题。
7 月 13 日,Vite 3 正式发布,它被称为下一代的前端工具链?。全新的 v3 文档发布,可以前往?开始 | Vite 官方中文文档查看。
想要尝试 vite ,可以直接通过如下命令:
npm create vite@latest my-vue-app --template vue
cd my-project
npm install
npm run dev
?可以看出来 消耗了277ms,而使用vue-cli消耗2968ms,提升了10倍。
?目前 vite 都是和 vue 3 搭配使用,如果要在 vue 2 使用 vite 估计还得等正式版发布。当然,能上 vue 3 还是上 vue 3 吧,无论性能、包大小还有 ts 加持方面,vue 3 都远优于 vue 2 。
vite目录结构
vue-cli创建的项目目录:
在一个 Vite 项目中,index.html ?在项目最外层而不是在?public ?文件夹内。这是有意而为之的:在开发期间 Vite 是一个服务器,而?index.html ?是该 Vite 项目的入口文件。
Vite 将?index.html ?视为源码和模块图的一部分。Vite 解析?<script type="module" src="..."> ?,这个标签指向你的 JavaScript 源码。甚至内联引入 JavaScript 的?<script type="module"> ?和引用 CSS 的?<link href> ?也能利用 Vite 特有的功能被解析。另外,index.html ?中的 URL 将被自动转换,因此不再需要?%PUBLIC_URL% ?占位符了。
<script type="module" src="/src/main.js"></script>
?所有的 js 文件经过 vite 处理后,其 import 的模块路径都会被修改,在前面加上?/@modules/ 。当浏览器请求 import 模块的时候,vite 会在?node_modules ?中找到对应的文件进行返回。
import { createApp } from 'vue'
import App from './App.vue'
import './index.css'
createApp(App).mount('#app')
?使用插件
举个例子:
通过监听文件修改,自动重启 vite 服务。
最常用的场景就是监听?vite.config.js ?和?.env.development ?文件,我们知道,修改 vite 配置文件和环境配置文件,是需要重启 vite 才会生效,通过这个插件,我们将从反复重启中解脱出来。
npm i vite-plugin-restart -D
|