如何在nextjs中使用html2canvas

问题描述 投票:0回答:1

我在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);
});

我想知道如何使用它。

reactjs frontend next.js html2canvas
1个回答
0
投票

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

import('html2canvas').then(html2canvas => {
  html2canvas.default(document.body).then(canvas => 
    document.body.appendChild(canvas)
  )
}).catch(e => {console("load failed")})
© www.soinside.com 2019 - 2024. All rights reserved.