Open Rlagnl opened 1 year ago
遗憾的是微信小程序和h5是可以正常运行的,没有这个问题,只有字节小程序上会有。而且taro 3.3.19上也能正常运行,所以只能认为是taro 做新版本中对编译配置做了一些调整导致了这个问题的出现。
关闭 prebundle
再试试
prebundle
@Chen-jj 试了以下两种配置方法,均没有修复上述问题
compiler: { type: "webpack5", prebundle: false, },
compiler: { type: "webpack5", prebundle: { enable: false, }, },
{
"message": "Cannot read properties of undefined (reading 'prototype')",
"name": "TypeError",
"stack": "at runInContext(pages/index.js:11809:28)\nat Object.
参考一下这个 https://github.com/NervJS/taro/issues/13339 我也是这样搞了一下就好了
相关平台
字节跳动小程序
小程序基础库: 任何 使用框架: React
复现步骤
https://github.com/Rlagnl/taro-3.5.7-react-tt-lodash/tree/20221027
期望结果
字节小程序正常运行
实际结果
有 js error
tma-core.js:2 [TMA] TypeError: Cannot read property 'prototype' of undefined at runInContext2 (vendors-node_modules_taro_tt_prebundle_lodash_js.js:802) at Object.<anonymous> (vendors-node_modules_taro_tt_prebundle_lodash_js.js:5579) at node_modules/lodash/lodash.js (vendors-node_modules_taro_tt_prebundle_lodash_js.js:5586) at __require (node_modules_taro_tt_prebundle_react_js.js:27) at entry:lodash (vendors-node_modules_taro_tt_prebundle_lodash_js.js:5592) at __require (node_modules_taro_tt_prebundle_react_js.js:27) at Object../node_modules/.taro/tt/prebundle/lodash.core.js (vendors-node_modules_taro_tt_prebundle_lodash_js.js:5595) at __webpack_require__ (bootstrap:19) at Object../node_modules/.taro/tt/prebundle/lodash.js (vendors-node_modules_taro_tt_prebundle_lodash_js.js:5613) at __webpack_require__ (bootstrap:19) (anonymous) @ tma-core.js:2 (anonymous) @ tma-core.js:2 Yi.emit @ tma-core.js:2 ps @ tma-core.js:2 n @ tma-core.js:2 (anonymous) @ app-service.js:98 tma-core.js:2 Uncaught TypeError: Cannot read property 'prototype' of undefined at runInContext2 (vendors-node_modules_taro_tt_prebundle_lodash_js.js:802) at Object.<anonymous> (vendors-node_modules_taro_tt_prebundle_lodash_js.js:5579) at node_modules/lodash/lodash.js (vendors-node_modules_taro_tt_prebundle_lodash_js.js:5586) at __require (node_modules_taro_tt_prebundle_react_js.js:27) at entry:lodash (vendors-node_modules_taro_tt_prebundle_lodash_js.js:5592) at __require (node_modules_taro_tt_prebundle_react_js.js:27) at Object../node_modules/.taro/tt/prebundle/lodash.core.js (vendors-node_modules_taro_tt_prebundle_lodash_js.js:5595) at __webpack_require__ (bootstrap:19) at Object../node_modules/.taro/tt/prebundle/lodash.js (vendors-node_modules_taro_tt_prebundle_lodash_js.js:5613) at __webpack_require__ (bootstrap:19)
环境信息
补充信息
就是通过 taro cli 中的 react 基础模版生成的全新项目,lodash也是模版自带的版本。 在编译 字节小程序时如果使用了 lodash 的 cloneDeep 方法的话会有报错。 3.3.19版本能够正常运行。