reactjs - 如何在 nextjs 中使用 html2canvas
问题描述
我在 nextjs 中使用html2canvas。由于nextjs 进行服务器端渲染,因此很难在 nextjs 中使用html2canvas。
我使用nextjs提供的动态库导入html2canvas,现在不知道如何使用html2canvas文档中写的导入后的html2canvas函数。
导入html2canvas
const html2canvas = dynamic(() => import('html2canvas'),{ssr:false})
当我按照文档中所写的步骤运行时,错误输出显示
“html2canvas 不是函数”
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")})
推荐阅读
- docker - 如何退出运行 alpine 3.3 的 docker 容器并显示错误代码?
- c# - DropDownList 错误,System.InvalidOperationException
- sql - SQL中的列总和
- android - 如何更新列表视图
- angular - 在 auth guard 中混合可观察的 promise
- python - 为什么我的 unicode 字符 (❤) 在 python 中显示为 'd?
- python - 定义用于读取文本文件的 if 语句以约束读取值
- javascript - 导入范围内的所有模块
- json - Heroku 阻止 HTTP REST API 强制使用 HTTPS
- javascript - 为 D3.js Sunburst 视觉对象的边界着色