首页 > 解决方案 > 渲染js服务器端

问题描述

我有一个 webapp,可以在一个页面中显示很多交互式 JS 数据表和图表(大约 50-60)。所需的页面渲染需要很长时间(Chrome WebTools 在“渲染”状态下显示从 ajax 响应到完成大约需要 20-25 秒),因为每个交互元素都是一个独立的“小部件”。

因为表格/图表的类型和结构大多是不变的,只有数据会发生变化,所以我认为让客户端每次都呈现它们是非常低效的。最好向客户端发送一个渲染页面,并且只在需要的地方填充数据。

我读过Headless Chrome 和 Puppeteer,但它们是 NodeJS 模块。我想知道是否有办法将这种服务器端的 JS 渲染合并到基于 Python 的后端中。

标签: javascriptpython

解决方案


你可以使用python-reactpython-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)

更多关于渲染服务器


推荐阅读