请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

预编译的疑问

问题: 依赖预构建,当遇到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。

请老师指点下,谢谢

正在回答 回答被采纳积分+3

1回答

Jokcy 2021-09-17 18:17:03

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

0 回复 有任何疑惑可以回复我~
  • 提问者 慕码人7128399 #1
    问题解决了,ele-ui 用了 vue中 $isServer属性,因为没有提前引入vue,所以才报错。
    回复 有任何疑惑可以回复我~ 2021-09-17 19:05:28
  • 提问者 慕码人7128399 #2
    thanks
    回复 有任何疑惑可以回复我~ 2021-09-17 19:40:40
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信