You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Node.js barcode模块生成条码遇'res is not defined'错误求助

解决barcode模块'res is not defined'错误及普通Node.js脚本生成条码方案

错误原因

res is not defined是因为原代码中的res.end()是Node.js HTTP服务器/Express框架的响应对象方法,但你的脚本是普通Node.js脚本,没有创建HTTP服务上下文,因此res变量从未定义。原代码注释也明确标注了该代码仅适用于HTTP框架场景。

现有barcode模块的修复方案

根据普通Node.js脚本的使用场景,你可以将生成的条码Base64数据保存为本地图片,或者生成HTML文件查看:

方案1:保存为本地PNG图片

const barcode = require('barcode');
const fs = require('fs');
const path = require('path');

const code39 = barcode('code39', {
    data: "BARCODE DATA",
    width: 400,
    height: 125,
});

code39.getBase64(function (err, imgsrc) {
  if (err) throw err;

  // 移除Base64前缀,提取纯图片数据
  const base64Data = imgsrc.replace(/^data:image\/png;base64,/, '');
  // 写入本地文件
  fs.writeFileSync(path.join(__dirname, 'barcode.png'), base64Data, 'base64');
  console.log('条码图片已保存至当前目录的barcode.png');
});

方案2:生成HTML文件查看条码

const barcode = require('barcode');
const fs = require('fs');

const code39 = barcode('code39', {
    data: "BARCODE DATA",
    width: 400,
    height: 125,
});

code39.getBase64(function (err, imgsrc) {
  if (err) throw err;

  // 生成包含条码的HTML文件
  const htmlContent = `<html><body><img src="${imgsrc}"></body></html>`;
  fs.writeFileSync('barcode-preview.html', htmlContent);
  console.log('已生成barcode-preview.html,直接在浏览器打开即可查看条码');
});

替代模块推荐

如果barcode模块不符合需求,可以尝试更活跃的bwip-js模块,支持更多条码类型,使用示例:

const bwipjs = require('bwip-js');
const fs = require('fs');

bwipjs.toBuffer({
    bcid: 'code39',       // 指定条码类型为Code39
    text: 'BARCODE DATA', // 条码内容
    scale: 3,             // 缩放比例,控制条码宽度
    height: 12,           // 条码高度(单位:毫米)
    includetext: true,    // 显示条码下方的文字
    textxalign: 'center', // 文字居中对齐
}, function (err, pngBuffer) {
    if (err) {
        console.error('生成条码失败:', err);
    } else {
        fs.writeFileSync('barcode-bwip.png', pngBuffer);
        console.log('条码图片已保存为barcode-bwip.png');
    }
});

内容的提问来源于stack exchange,提问作者Takuhii

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 05:52:46