留一个我们的解决办法给后面遇到类似情况的人: 我们在使用小程序 CI 上传代码前有一步预编译(不然代码包大小超标传不上去)。预编译采用了@babel/preset-env 这个插件。这个插件有用到 regeneratorRuntime,但是最近基础库不再暴露这个变量,需要我们自己引用。 最初尝试添加 @babel/transform-runtime 添加 regenerator 来解决,但插件越加越多,报错也越来越稀奇古怪。后来换了一个思路,让 @babel/preset-env 忽略 async await 语法的编译,把编译交给 CI 的增强编译 (es7: true) 来解决,最后成功。 附上 @babel/preset-env 的配置: ['@babel/preset-env', { 'targets': { 'chrome': 53, 'ios': 8 }, 'exclude': ['@babel/plugin-transform-async-to-generator', '@babel/plugin-transform-regenerator'] // 让 babel 忽略 async await 的编译 }]
微信版本8.0.16,进入体验版小程序遇到基础库加载问题[图片] Can't find variable: regeneratorRuntime 报错 iOS和安卓进入体验版小程序都有此问题。用8.0.15版微信进入无此问题。 小程序体验版采用的是CI上传,增强编译已开。
2022-01-06