vite搭建vue3.0项目
pre:
● 环境要求: vite需要node.js版本 >= 12.0.0
● 检测node版本命令: cmd-> node -v -> enter
开始:
1、创建项目
使用npm方式
npm init vite@latest 项目名
使用yarn方式
yarn create vite 项目名
除此之外还可以用过附加命令行选项直接指定项目名称和模板。例如,要构建一个Vite + Vue项目,命令如下:
npm 6.x
npm init @vitejs/app my-vue-app --template vue
npm 7+,需要额外的双横线:
npm init @vitejs/app my-vue-app – --template vue
yarn
yarn create @vitejs/app my-vue-app --template vue
`
输入完命令后,按照提示操作即可。如果项目需要支持typescript,可以再初始化项目的时候选择vue-ts。项目创建好之后,可以发现vite所创建好的项目其实与使用vue-cli所创建的项目目录结构是差不多的。
npm init @vitejs/app project-name
or
yarn create @vitejs/app project-name(建议)`
2、在select a template中选择vue或者vue-ts
3、按照提示执行命令:
cd project-name: 进入项目目录
yarn :安装依赖包
yarn dev : 运行项目
注:vite是rollup的高阶封装,本质是rollup;vite在运行时不会对项目代码进行打包而是把这部分工作交给了浏览器,所以对浏览器要求是必须支持es module语法,目前大多数浏览器已经支持。所以vite比vue-cli快。
至此,一个vite搭建的vue项目就跑起来了,给我的感觉就是飞一般的快。
vite为什么这么快呢:
1、ES module 减少服务启动时间
● 由于大多数现代浏览器都支持上面的 ES module 语法,所以在开发阶段,我们就不必对其进行打包,这节省了大量的服务启动时间。另外,vite 按需加载当前页面所需文件,一个文件一个http请求,进一步减少启动时间。
2、缓存减少页面更新时间
● 每个文件通过 http 头缓存在浏览器端,当编辑完一个文件,只需让此文件缓存失效。当基于 ES module 进行热更新时,仅需更新失效的模块,这使得更新时间不随包的增大而增大。
3、按需加载
● vite通过按需加载减少等待时间
4、组件热更新
● vue 组件热更新,由serverPluginVue.ts、serverPluginHmr.ts、client.ts三个部分共同完成。其中client.ts会被发送到浏览器端,位于服务端的 serverPluginHmr.ts 通过 websocket 和 client.ts 进行通信。