【发布时间】:2016-07-17 12:53:03
【问题描述】:
我想在我的 JSON 文件中存储 HTML 标签。这个 JSON 文件就像我的静态 Express 应用程序的数据库,可以存储博文、文本、页面等。
var express = require('express'),
router = express.Router();
exports.fsAsync = function fsAsync(callback) {
fs.readFile(__dirname + '/../database/data.json', 'utf8', (err, data) => {
if (err) throw callback(err);
callback(null, JSON.parse(data));
});
};
/* GET Contact page. */
router.get('/', function(req, res, next) {
fsAsync(function (err, data) {
if (err) {
return res.render('404', {
title: 'Error 404'
});
}
var contact = data[2].contact;
res.render('contact', {
data: contact
});
});
});
JSON 文件特定部分:
{
"contact": {
"body": "<p>This is the Contact Page!<br />But maybe I want to store some <a href=\"#\">links</a> in my text also!</p>"
}
},
将我的 JSON 中的 html 标签转换为 ascii:
<main class="contact">
<article>
<p>This is the Contact Page!<br />But maybe I want to store some <a href="#">links</a> in my text also!</p>
</article>
</main><!-- main.about-me -->
有没有办法做到这一点?
模板引擎是express-handlebars:
app.engine('hbs', exphbs({
extname: 'hbs',
defaultLayout: 'main',
// Specify helpers which are only registered on this instance
helpers: {
// register hbs helpers in res.locals' context which provides this.locale
__: function() { return i18n.__.apply(this, arguments); },
__n: function() { return i18n.__n.apply(this, arguments); }
}
}));
app.set('view engine', 'hbs');
app.set('views', __dirname + '/views');
【问题讨论】:
-
您的项目中使用了哪个模板引擎?
-
它是
express-handlebars。我更新了我的问题。
标签: javascript html json node.js express