- createServer
- resolveConfig
- loadConfigFromFile:config from config file,获取 config 文件配置,如果有,则和默认和指令行配置合并
- createLogger:创建日志输出函数
- resolve plugins:config.plugins,获得并排序当前模式下的插件
- run config hooks:config from plugins,运行插件的 config 钩子函数,合并配置
- resolveRoot:config.root,获得
index.html
所在路径 - resolveAlias:config.resolve.alias,整合 alias 提供给
@rollup/plugin-alias
,其中有内置 alias:@vite 指向 vite 包里的 client - loadEnv:config.env,加载环境变量(利用 dotenv)
- production mode :config.env.(MODE | DEV | PROD),必要时的环境变量设置
- resolveBaseUrl:config.base,获取 base url
- resolveBuildOptions:获取生成用的配置
- resolve optimizer cache directory:config.optimizeCacheDir,获取 package.json 路径,然后确定优化用的缓存所在位置
- assetsFilter:通过
config.assetsInclude
得到静态资源相关文件类型 - createResolver:创建一个内部解析器用于处理特殊情况,比如优化器、处理 CSS、
@import
- 返回 config
- middlewares:使用 connect 创建的 middlewares 集合
- httpSever:根据配置创建 https/http 服务器(如果存在)
- ws:WebSocket 服务器
- watcher:通过 chokidar 创建的文件监听实例
- container:插件容器
- TODO
- moduleGraph:模块依赖
- TODO
- closeHttpServer:关闭 http server 的函数
- server:Vite 服务器实例
- TODO
- resolveConfig
上一篇:如何 debug Vite 源码
下一篇:内部中间件