前端项目,技术栈是 Vue3.x + Vite + TypeScript
本地运行起来的一切正常,打包上线后,控制台报了错误:
TypeError: Right-hand side of 'instanceof' is not an object
调试之后发现,打包后的源码里,一个 instanceof 方法的左边是一个 div 元素对象,这个 div 对象是用来绑定画布用的容器,代码中如下:
template:
<div class="graph" ref="graphRef" id="graphRef"></div>
script:
const graphRef = ref<HTMLElement | null>(null);
报错位置代码如下,图上的这些代码并不是写在项目里的,应该是打包后注入进去的:
现在问题就是不知道 打包后的这些方法使用逻辑是什么?怎么解决这个报错呢?求解
后续:
知道Backbone
有用到jQuery
,那这个$
应该就是jQuery了,然后手动在项目里安装了jQuery
和Backbone
,然后在入口文件的地方,先手动给Backbone
绑定了一下$
,果然可以了~
虽然线上的问题暂时是解决了。但是目前为止,我还是不知道为什么打包后,会把Backbone.$
给打包没了,希望后面有知道原理的大佬给指点一下,万分感谢。