Function.prototype.apply was called on WeakMap.prototype.get
最近接手了一个老项目,uni-app开发的小程序,安装依赖的之后使用idea 可以编译到微信开发者工具报错:
1: app.js错误:TypeError: Function.prototype.apply was called on WeakMap.prototype.get, which is a string and not a function。
这个问题查了好久,最后就是确定是一个依赖qs 的版本不兼容,
执行:
npm i qs@6.9.6
在package.json 里面修改版本6.9.6,然后重新安装,可以解决此问题。
2: 解决上述问题,在hbuilder 运行之后显示node-sass版本问题
Node Sass could not find a binding for your current environment: OS X 64-bit with Node.js 8.x
此问题问题出在HBuild有个内置的node,HBuild有个内置的node是v8,开发时依赖的node是高版本的,打包发布的时候会使用HBuild内置的node,所以是会报错的。所以我们告诉HBuild使用我们本机的node即可。打开终端,依次执行下面代码:
cd /Applications/HBuilderX.app/Contents/HBuilderX/plugins/node
mv node node-v8
ln -s /usr/local/bin/node /Applications/HBuilderX.app/Contents/HBuilderX/plugins/node/node
重新安装打包就可以正常编译了。
评论

React 18的并发渲染确实是个重大改进,我们在项目中已经升级使用,性能提升明显!