可以使用 node-canvas 或 @napi-rs/canvas,不过用在云函数时,需要以函数层的方式部署,例如:
node-canvas;@napi-rs/canvas;我这里使用 @napi-rs/canvas,创建函数层的方法可以参考阿里云文档。
要注意的是,因为我的电脑是 Apple Silicon,所以我需要使用 Docker 拉取一个 X64 的 Debian 容器,在这个容器里安装 @napi-rs/canvas 并打包层文件,最后在阿里云函数后台上传并创建层。
接下来,我需要在函数的 s.yaml 文件中添加这个层的 ARN 值,并增加一个名为 NODE_PATH 的环境变量,这样就可以直接在代码中 require @napi-rs/canvas。
相关笔记: