如何在 nextjs 中使用 html2canvas

How to use html2canvas with nextjs

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

正在导入 html2canvas

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

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

"html2canvas is not a function"

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

我想知道如何使用它。

Nextjs 动态导入用于导入 React 组件。如果你想导入一个节点模块,你可以使用正常的基于 javascript 的动态导入,如下所示

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