bplok20010 / eval5

A JavaScript interpreter written in TypeScript - Support ES5
https://bplok20010.github.io/eval5/
MIT License
699 stars 101 forks source link

解析网易云信 SDK报错 #27

Closed lengziyu closed 2 years ago

lengziyu commented 2 years ago

场景是,在微信小程序开发中引入云信SDK,把SDK打包到主包过大(业务需要不能放到分包),请求后端接口,把SDK放到缓存,这时候SDK是字符串了,用eval5解析成js执行。 报错如下:

vue.runtime.esm.js?9334:619 [Vue warn]: Error in mounted hook: "TypeError: Cannot read properties of undefined (reading '__core-js_shared__')"
bplok20010 commented 2 years ago

你可能需要看看__core-js_shared__存在那个对象上,你这个SDK可能依赖浏览器环境,直接拿过来是不一定能执行,需要检查是否会用到Window之类的对象

lengziyu commented 2 years ago

感谢回复!云信小程序版没有Window,检测了有部分ES6语法,大概是这个导致。昨天看了你的这个we-script,在原生小程序项目上使用完美,但是我的项目是基于uniapp,copy了we-script过来,并引入依赖eval5.js、acorn.js,还是报错acorn.js is not defined。 请教一下:我想把we-script改造成常规npm组件包,可以在vue cli这样的项目运行,有什么建议?

bplok20010 commented 2 years ago

仓库有个umd包,打包了acorn.js。 we-script只是基于微信环境下封装,提高易用性,关于改成常规npm,你可以按照自己场景和想法来封装。