我正在使用Node.js,Express 4和Handlebars模板处理器。我使用Handlebars渲染的一些页面视图具有几KB的静态内联SVG代码。是否有一种简单干净的方法将SVG代码放入一个单独的文件中以包含在Handlebars布局模板中?理想情况下,这个包含文件的扩展名为.svg,但.hbs是可以接受的。
答案 0 :(得分:1)
var svgTemplate = fs.readFileSync('./public/app/build/images/spriteAll.svg', 'utf8');
var express = require('express'),
router = express.Router();
router.get('/', function (req, res) {
res.render('main', {
svgTemplate: svgTemplate
});
});
//其中main.hbs包含: ...
<body class="ng-cloak">
<div class="inline-svg">
{{{svgTemplate}}}
</div>
....
</body>
答案 1 :(得分:0)
您可以在项目中创建一个静态资源文件夹(例如/public
),include it with Express:app.use(express.static('public'));
将.svg文件放在那里。
然后在您的手柄文件中添加SVG,就像在普通HTML项目中一样,例如<img src="your.svg">
答案 2 :(得分:0)
您可以尝试handlebars-partial-file将文件的内容包含为Handlebars partial。