JSbarcode 不呈现

JSbarcode not rendering

我正在尝试在 nodejs 应用程序中创建一个路由,该路由从 jade 模板上的 objectId 生成条形码但是,当我包含我的路由和刷新时,图像没有呈现。

我已经阅读了文档并尝试了不同的方法,但它仍然无法呈现。

这是我的 barcode.js

var express = require('express');
var router = express.Router();
var JsBarcode = require('jsbarcode');

router.get('/', function(req, res, next) {
res.render('barcode', { title: 'Barcode' });

JsBarcode("#barcode", "Hi!");


});

module.exports = router;

这是我的玉模板:

doctype html
html
    head
        title= title

 svg#barcode

当我刷新页面时,没有任何显示(空白页)

我想做的是先渲染图像,然后再添加更多逻辑。

在 res.render 之后您不能有任何代码行,因为页面会呈现。

如下所述更改您的 barcode.js 文件

var express = require('express');
var router = express.Router();

router.get('/', function(req, res, next) {
  res.render('barcode', { title: 'barcode' });
});

module.exports = router;

如下所述更改您的 barcode.jade 文件

doctype html
html
  head
    title= title
  body
    svg#barcode
    script(src="https://cdn.jsdelivr.net/npm/jsbarcode@3.8.0/dist/JsBarcode.all.min.js")
    script.
      JsBarcode("#barcode", "Hi!");

这应该会在页面上为您提供条形码。然后您可以考虑将 ObjectId 发送到 jade 文件以生成新的条形码。