在写下这篇经验之前我的项目都是基于vue2的,这个过程中使用renderjs也没有报什么错;直到我在uniapp使用 vue3项目并将之前的项目迁移过来的时候;就发生了一堆魔幻的事情;当然大部分都在可控的范围内;但是其中有个别组件内部使用了 renderjs的文件就没那么幸运了,一直报什么找不到我定义的renderjs模块,
<span style="color:red;">uniapp-view-umd.js 巴拉巴拉的</span>
他只是给你提示这个错误的话,你是根本玩不转的,因为你只知道 这个错,但是根本就没有给你定位到具体的文件地方;起初我在想是不是在uniapp里面使用vue3是不对的;基于这个猜想我单独弄了一个demo也是vue3的,在里面写了一个组件;简单的使用了 renderjs来进行逻辑层和视图层之间的通信;发现是可以走的通的;那么就说明在uniapp使用vue3项目是可以正常使用renderjs的,那么这下问题排查就只能是代码写法和语法报错上去查找了;
然而找了一圈我发现自己写的代码没有问题;那么我在一想是不是第三方包的问题;果不其然我在控制台看到了一个错误;说是什么<span style="color:red">process is underined</span> 我的vue3是基于vite搭建的,默认 是不支持这个process的;所以报错;那么我在vite.config.js里面define里面定义了一下 ;具体定义方法可以在网上查找了一下;不过我是直接找到了最新下载的插件,直接把里面的判断给关掉了;不用procee去判断;此时再去运行项目发现就不再报错;
还有一点值得提的就是,如果在使用renderjs的组件内部有时候引用的插件也会导致这个错误;所以需要大家在使用rendrjs的地方一个注释引用的插件的方式去排查;
1 个评论
要回复文章请先登录或注册
2***@qq.com (作者)