Sivo 悉见

vite环境下 npm包更新版本后,引用包函数错误提示 Uncaught (in promise) TypeError: xxx is not a function 解决方案

匿名 · 更新于 2022/5/29

最近刚刚在使用vite,发现速度真快,开发心情也好了,但是今天刚刚遇到一个问题,最后发现vite需要背锅
就如题那样,自己写了一个npm包,然后今天新增了几个函数,发布后,在项目中引用,一直提示 Uncaught (in promise) TypeError: xxx is not a function
找了半天也没发现问题出在哪里,一度以为是vue3、uniapp、yarn、npm这些兄弟需要背锅,但是都无果,
最后删了node_modules,重新安装得以解决,但是还是没有发现问题在哪里,弄的心里很不爽
最终在node_modules中发现了一个.vite的目录,进去发现里边有关于出问题那个npm包的信息,灵光一闪,难道这里的问题?
然后我又npm包新增了一个测试函数,发布后,项目重新更新包版本,果然这个新增的函数也是提示上边这个错误
进而发现.vite里边我的包信息并没有更新,果断删除.vite,重新运行项目,发现这回更新了,刷新页面,函数调用成功

后来查了一些资料,vite有个文件系统缓存,就是node_modules里的.vite文件,但是我都更新包了,这缓存不会自动更新么?费解,求大神指教