如何在nextjs中使用html2canvas

时间:2019-12-30 10:40:47

标签: reactjs frontend next.js html2canvas

我在nextjs中使用html2canvas。由于 nextjs 在服务器端进行渲染,因此很难在nextjs中使用 html2canvas
我使用nextjs提供的dynamic库来导入html2canvas,现在我不知道如何按照html2canvas文档中的说明来使用html2canvas函数。

导入 html2canvas

const html2canvas = dynamic(() => import('html2canvas'),{ssr:false})

当我按照文档编写的步骤运行时,错误输出显示

  

“ html2canvas不是函数”

html2canvas(document.body).then(function(canvas) {
    document.body.appendChild(canvas);
});

我想知道如何使用它。

1 个答案:

答案 0 :(得分:1)

Nextjs动态导入用于导入React组件。如果要导入节点模块,则可以对基于JavaScript的动态导入进行规范,如下所示:

import('html2canvas').then(html2canvas => {
  html2canvas.default(document.body).then(canvas => 
    document.body.appendChild(canvas)
  )
}).catch(e => {console("load failed")})