/vite-source

Primary LanguageJavaScript

vite-source

vite-cli

bin/vite执行的文件

  1. 本质上是个koa服务器

  2. 通过浏览器自带的es module实现<script type="module"></script>

  3. import会自动触发浏览器的http请求

moduleRewritePlugin

修改路径, 将模块的路径转变成/@modules/

使用es-module-lexermagic-string

processPlugin

全局注入process, 浏览器中没有process, process只有在node中存在

resolveModulePlugin

/@modules/转换成绝对路径, 每个模块都不一样, 需要特殊处理

使用find-up向上递归查找目录

serveStaticPlugin

根目录和public两个目录设置为静态目录

vuePlugin

处理vue文件(2次http请求)

  • .vue文件转换成路径带有?type=template的js文件
  • 注入__render
  • 再次请求路径带有?type=template的js文件
  • 编译templatecontent
  • 返回编译后的结果