收藏
回答

微信小程序云开发服务端使用 canvas绘制图片问题?

使用微信小程序云开发,需要使用服务端绘制图片,搜索到node使用canvas需要使用到这个模块->https://www.npmjs.com/package/canvas,但是需要按服务器环境安装指定依赖,请问是否有方案解决,还是无法解决。

回答关注问题邀请回答
收藏

3 个回答

  • cracker
    cracker
    06-17

    我也遇到了同样的问题 请问楼主解决了吗。谢谢。

    06-17
    有用
    回复 2
  • Peter ᯤ⁶ᴳ
    Peter ᯤ⁶ᴳ
    03-04

    这个问题是可以解决的。

    因为canvas这个包在npm install时需要从一些域名下载依赖,但是这个域名在云函数的环境下是访问不了的,所以上传云函数时如果选择云端安装依赖,会安装失败。

    但是,canvas这个包的安装也会区分不同的操作系统和不同的node版本,如果在本地mac/windows系统安装好依赖,直接上传完整云函数,在云函数cent os环境下也不能正常运行。

    找个cent os的机器,安装和云函数环境一样的node版本,安装好依赖,再用这个node_modules,来完整上传云函数就可以。

    03-04
    有用
    回复 1
    • cracker
      cracker
      06-17
      请问这种方法你成功了吗?我试了下 上传云函数的时候会超出 size limit.
      06-17
      回复
  • 郑旭东
    郑旭东
    03-04
    // 云函数入口文件
    const cloud = require('wx-server-sdk')
    
    const canvas = require('node-canvas')
    
    // 云函数入口函数
    exports.main = async (event, context) => {
    ...
    


    选择云端安装依赖的形式上传云函数

    03-04
    有用
    回复 2
    • 伟业
      伟业
      08-01

      会直接报错,找不到canvas

      08-01
      回复
    • 郑旭东
      郑旭东
      08-01回复伟业
      这样操作试过吗:先在开发者工具云函数文件夹右键打开菜单:在外部终端窗口中打开。然后npm install node-canvas。然后上传并部署云函数(云端安装依赖)
      08-01
      回复
登录 后发表内容
问题标签