寻找一个程序,该程序支持DOM函数并在Linux服务器中运行JavaScript,就像浏览器一样,但没有用户界面



当前,我使用HighCharts在客户端浏览器中创建图表;将它们作为SVG导出,并具有Highcharts Innoder huald Offort选项;我使用Canvg从导出的SVG生成PNG Base64图像字符串;然后,我将生成的base64字符串发送到服务器。他们工作得很好。但是我正在寻找一个程序,可以在Linux Server中运行JavaScript 本身,因此我可以在服务器本身中创建图表并生成PNG Base64 Image String并存储它们以供其他使用。

我阅读了有关 phantomjs,Zombiejs 的阅读。但是它们看起来像是一个无头浏览器程序(一个没有用户界面的浏览器程序(,仅用于测试目的。我不知道这些软件包(phantomjs,Zombiejs(是否有选项来运行我的JavaScript程序并返回我的图像字符串。

任何人都可以建议我一个最适合我的答案吗?

谢谢!Jeffrin

尝试Puppeteer

Puppeteer是一个节点库,它提供了一个高级API,可以控制DevTools协议上的无头铬或铬。它也可以配置为使用完整的(无头(铬或铬。

这是一个没有用户界面的浏览器,并具有API接口可以在此浏览器中使用快照或运行用户定义的JavaScript。

听起来您已经在Web浏览器中使用JavaScript有一个解决方案。您只想从nodejs做同样的事情,正确?

听起来还像在Web浏览器中显示结果是对您的完全可接受的解决方案(而不是使用X Windows或类似的内容(。正确?

轻松的peasy:(

要在nodejs下运行,只需做同样的事情。

将您在浏览器中本地运行的JS代码...复制/粘贴到nodejs请求处理程序中。

客户端通过浏览Nodejs Web应用程序连接到您的服务器。

nodejs返回SVG作为请求处理程序发送回浏览器的"响应"对象。瞧!客户端查看浏览器中显示的图表或图。

问:听起来很合理?

以下是几个可能会有所帮助的链接:

  • 您的第一个nodejs http服务器

  • 如何使用nodejs

  • 使用图像

附录:

  1. 使用NPM安装HighCharts-More节点

  2. 有很多方法可以用nodejs调用您的图表代码,包括:

    a(require('http'):从HTTP请求处理程序运行图表代码

    b(直接从命令行运行 node

  3. 这些选项中的任何一个都允许您多种保存文件的方法 - 无需任何"额外步骤"(就像您现在明显正在做(:

    另请参见:将HighCharts图表保存为PNG(有或没有服务器(的4种不同方法

相关内容

最新更新