一、场景需求
项目中需要为用户生成分析报告,报告的内容是由多个图表和文本描述组成的word/pdf文档。这需要在服务端生成echarts图片,然后将图片插入到报告中。
二、实现思路
搭建一个web服务,基于ejs动态渲染出包含echarts配置信息的html页面,使用headless浏览器渲染html页面,然后对echarts图表进行截图,返回echarts图表的base64编码。

三、实现步骤
第一步:使用express搭建一个web服务器。
const express = require("express");
const path = require("path")
const app = express();
const renderCharts = require('./controller/charts')
//配置静态路径
app.use(express.static(path.join(__dirname, "./resource"))) app.use(express.static(path.join(__dirname, "./dist/html")))
//解析json格式的请求体
app.use(express.json())
//将ejs设置为默认的模板引擎
app.set("view engine", "ejs")
//设置模板路径
app.set("views", path.resolve(__dirname, "views"))
//配置路由
app.post("/echarts", renderCharts)
//启动服务
app.listen(3000, () =>{
conso

本文介绍了如何通过Express框架搭建Web服务,利用EJS动态渲染包含Echarts配置的HTML,借助headless浏览器PhantomJS渲染图表并获取其Base64编码,实现在服务端生成分析报告的需求。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



