使用nodejs提取mathjax长公式

该项目旨在解决长公式导致的产品体验问题,采用nodejs的mathjax-node库将公式转为图片。通过express框架构建HTTP服务,使用pm2部署,并定制Docker镜像。服务启动后,能返回公式图片的地址、尺寸等信息。
摘要由CSDN通过智能技术生成

需求

近期有长公式数据造成产品体验不好,因此需要将长公式提取出来

服务选择

希望从数据分析入手,直接将不合法数据提取出来,查阅资料后最终确定使用nodejs的第三方库mathjax-node来实现。mathjax-node可以直接在服务端将公式源码渲染成公式图片,返回图片地址、宽、高等信息;部署成http服务。

实施

1.框架选取

因使用nodejs实现http服务,因此使用express框架实现

2.创建项目

命令:express init

项目结构如下

当然,package.json是nodejs配置文件,通过npm init命令生成; ecosystem.config.js为pm2配置文件,通过pm2 init 命令生成。

3.部署工具

使用pm2部署,配置如下:

4. docker镜像

有官方nodejs镜像,如果满足需求可以直接拿来用,我们因为要安装很多全局包,因此自己定制了Dockerfile
在这里插入图片描述

5. 服务启动命令

docker run -d -p 3500:3500 -v /Users/shc/Documents/project/formula_check:/code nodejs:v1 pm2 start /code/ecosystem.config.js --env prod --no-daemon

ps:项目中使用node全局包,因此需要修改环境变量,命令:ENV NODE_PATH /usr/lib/node_modules

总结

  1. 项目中使用node全局包,因此需要修改环境变量,命令:ENV NODE_PATH /usr/lib/node_modules
  2. 使用docker部署项目,开始docker 容器启动后立马退出,查阅资料后增加参数–no-daemon
  3. 很多使用pm2 deploy进行本地自动化部署服务器,我们有专门的运维平台,因此不使用deploy配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山水好风光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值