我在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);
});
我想知道如何使用它。
答案 0 :(得分:1)
Nextjs动态导入用于导入React组件。如果要导入节点模块,则可以对基于JavaScript的动态导入进行规范,如下所示:
import('html2canvas').then(html2canvas => {
html2canvas.default(document.body).then(canvas =>
document.body.appendChild(canvas)
)
}).catch(e => {console("load failed")})