javascript - 渲染js服务器端
问题描述
我有一个 webapp,可以在一个页面中显示很多交互式 JS 数据表和图表(大约 50-60)。所需的页面渲染需要很长时间(Chrome WebTools 在“渲染”状态下显示从 ajax 响应到完成大约需要 20-25 秒),因为每个交互元素都是一个独立的“小部件”。
因为表格/图表的类型和结构大多是不变的,只有数据会发生变化,所以我认为让客户端每次都呈现它们是非常低效的。最好向客户端发送一个渲染页面,并且只在需要的地方填充数据。
我读过Headless Chrome 和 Puppeteer,但它们是 NodeJS 模块。我想知道是否有办法将这种服务器端的 JS 渲染合并到基于 Python 的后端中。
解决方案
你可以使用python-react或python-react-v8在服务器端渲染 React 组件。
安装:
pip install react
用法:
from react.render import render_component
rendered = render_component(
'/path/to/component.jsx',
{
'foo': 'bar',
'woz': [1,2,3],
}
)
print(rendered)
更多关于渲染服务器。
推荐阅读
- docker - 如何在我的 github 操作中指定 dockerfile 位置?
- mysql - 具有多个 INNER JOINS 和 WHERE 条件的 SQL Select 语句
- regex - 正则表达式匹配有效数字
- java - 如何在服务器模式下运行 JRE?
- python - 根据多个条件将特定列的行条目附加到空数据框
- c# - 如何通过 PDFsharp 设置 PDF 格式,将页面大小设置为 A4 并适合页面(缩小)
- jquery - 在 vue 中使用 fotorama
- c# - 从 WinForms UserControl 中删除边框
- machine-learning - XGBoost 超参数调优
- c# - 删除/保护 url 中的 id 不被篡改