预编译的疑问

来源:3-4 Vite 性能揭秘---预编译优化

慕码人7128399

2021-09-17

问题: 依赖预构建,当遇到CommonJS规范的代码,服务启动时会通过esbuild转为esm规范代码,但是我发现自己编写CommonJS后,预编译似乎没有编译完全?如何解决?

图片描述

  1. 我引入b文件导出的内容
  2. 对于外部的非esm模块文件,启动时交给vite预编译
  3. a.js 导出一个 a
  4. b.js 导入 a 且导出 b变量

看下预编译的结果:
图片描述

  1. 看预编译的结果,感觉变成了import 和export ,符合esm规范的代码。

看下运行的结果:
图片描述
怎么在b.js文件中还是commonjs的代码?不应该执行预编译的代码吗?如果执行这个,浏览器当然不认识require。

请老师指点下,谢谢

写回答

1回答

Jokcy

2021-09-17

预编译是针对第三方依赖的,你自己的源码vite不会从.vite目录去找的,而且源码一般是经常变化的,预编译意义也不大

0
2
慕码人7128399
thanks
2021-09-17
共2条回复

Vite 从入门到精通,玩转新时代前端构建法则

从使用到原理到实战的【前端构建】高效学习路线,一次性掌握Vite

788 学习 · 104 问题

查看课程