试用了一下阿里云的小程序云,想在云函数使用 @alicloud/mpserverless-node-sdk
操作数据库,云函数我用 esbuild 打包,但打包后的云函数在运行时提示 regeneratorRuntime is not defined
错误。
这是因为 @alicloud/mpserverless-node-sdk
用了 regenerator-runtime
这个依赖,使用 esbuild 打包后的云函数代码没有使用 const
等关键词声明 regeneratorRuntime
这个变量就直接用了,所以就出现 xx 变量没有被 defined 的报错。
解决方法是让 esbuild 在打包后的代码开头增加一行 var regeneratorRuntime;
,这可以通过 esbuild 的 banner 参数实现,例如:
esbuild ./index.js --banner:js='var regeneratorRuntime;' --bundle --minify --platform=node --target=node14 --outfile=./code/index.js
相关文章: