目录结构比较简单,主要就实现了三个接口,其中 api/screenshots
即是项目中所使用到的图片生成接口,在真实生产项目中可以把该服务单独部署,于内网调用,这样利于做一些鉴权之类的处理。
另外 api/printscreen
这个接口实现的是网页截图的 API,该接口可以传入一个 URL 对整个网页进行截图,可用于合成长图分享海报等场景,本项目中没有使用到此接口。
npm install
或 yarn
npm run dev
npm run build
直接打包可能会出现未知错误,本项目在 webpack.config.js 中过滤掉了依赖(打包出来的文件会非常小因为只包含项目代码),建议将 package.json
放到服务器上主动安装依赖来使用,具体的做法类似以下步骤:
- 将项目中的
package-build.json
上传到服务器中,重命名为package.json
- 目录下执行
yarn
安装依赖 - 执行
npm run build
- 将打包的
dist/server.js
放在node_modules
同级目录中 - 使用
pm2 start server.js
启动并守护服务
在 Linux 环境下推荐主动安装浏览器,再给项目中的配置文件 src/config.ts
设置好路径:
exports.executablePath = '/opt/google/chrome-unstable/chrome'
/opt/google
为默认路径,一般不会变动
一些可能用到的 linux 命令参考(Debian GNU/Linux 9):
google-chrome --version # 查看浏览器版本号
apt-get update
apt-get install -y google-chrome-stable // 安装最新稳定版谷歌浏览器
其它系统自行搜索如何安装Chrome,推荐使用Docker部署,本项目部署参考说明。
build:apidoc