vite

37 阅读2分钟

杂记

  1. 找寻以来的过程是自当前目录依次向上找的过程,直到搜寻到根目录活搜寻到对应的以来位置
  2. vite在生产环境会全权交割rollup的库完成生成环境的打包构建
  3. 有的第三方包以commonjs规范到处(module.exports)-- vite会做依赖预构建
  4. 依赖预构建: vite会找到对应的以来,然后调用esbuild(对js语法进行处理的库),将其它规范的代码转换成esmodule规范,然后放到当前目录下的node_modules/.vite/deps。同时对esmodule规范的各个模块进行统一集成,最后只生成一个或者两个文件
  • 解决了3个问题
  • 不同的第三方包会有不同的导出格式(vite无法约束的事情)
  • 对路径的处理上可以直接使用.vite/deps,方便路径重写
  • 网络多包传输的性能问题(原生esmodule规范不敢支持node_module的原因之一)

vite配置文件语法提示

image.png

vite环境变量处理

image.png

image.png

image.png

image.png

image.png

可以用envPrefix更改客户端前缀

vite怎么让浏览器识别.vue文件

vite服务器会通过正则读取匹配是否为vue文件,然后将其编译为js代码,以便浏览器识别

vite是如何处理css

image.png

image.png

CSS模块化配置

image.png

css预处理器(less/sass)全局参数(preprocessorOptions)

image.png

image.png

postcss

image.png

postcss涵盖less或sass的功能,但是现在不维护less和sass,所以需要自己用less处理器编译后再由postcss做降级处理

image.png

Path路径处理

1、路径为./时,是相对于当前文件(main.js)而言的路径,而执行node file时的路径是相对当前执行环境,但是打包文件时最终要访问的是绝对路径。所以需要采用__dirName获取绝对路径进行拼接

image.png

Vite对svg的处理

svg可以通过.style.fill更改颜色

vite在生产环境中对静态资源的处理

image.png

image.png

超过这个大小的资源则会按照base64格式打包 image.png

image.png

vite插件

image.png

ejs语法

在服务端中使用比较多。具体可以了解些EJS是什么

具体插件

image.png

image.png