node使用jsbarcode导出条形码,只能生成个小白框
- node v11.11.0
- jsbarcode@3.11.0
- canvas@2.6.1
代码如下:
import { createCanvas } from 'canvas';
import jsbarcode from 'jsbarcode';
const canvas = createCanvas(1000, 1000, 'svg');
jsbarcode(canvas, 'Hello', {
width: 1000,
height: 1000,
lineColor: "#0aa",
displayValue: true
});
// 获取条形码base64图片
const base64 = canvas.toDataURL('image/png');
return {
data: base64,
content_type: ' image/png'
};
导出的图片是个小白框
我不确定是不是安装canvas安装有问题,项目在安装依赖时,会卡在那不动,通知终端输出 node-pre-gyp WARN Using request for node-pre-gyp https download
, 等得时间长我就按了一下 Ctrl + C
, 然后依赖再会继续安装,也没有其他什么报错信息。canvas安装是根据官方的教程来的,电脑(debian)需要添加的依赖都安装过了。github,google都翻过没有找到解决办法,怪得很,有没有哪个同学遇到过这个问题,求助
3 回复
安装依赖 node-pre-gyp WARN Using request for node-pre-gyp https download
卡在那的问题解决了,用cnpm安装,使用国内npm镜像。但是导出的条形码还是那个样子。另外python环境也都有
已解决。突然发现,转成buffer一切都没问题,暂时解决了我的问题。 这个问题已经反馈给 node-canvas
你看看 base64 是什么值