核心吸引力:
使用浏览器原生ES模块功能,不做耗时的打包,达到极速的启动速度。同时达到真正的按需加载。
问题一:
第三方不是Esmodule的依赖库要预先处理成ES输出,暂存起来。使用预构建,将处理结果打包输出到node_modules/.vite。记录在 _metadata.json
文件上,这里了称为“优化依赖元数据”。
问题二:
依赖资源的请求。我们代码里写的都是分散地对ES module的引用,但实际请求的确实只有一份打包合并的文件。所以必然在运行时挟持了请求路径。这里借助一下 modern.js 官网的文字给予解释。vite server也是这么处理的。