gpt4 book ai didi

node.js - 在 Node 中使用 Mustache.js 将数据与 View 分离

转载 作者:太空宇宙 更新时间:2023-11-04 02:44:32 24 4
gpt4 key购买 nike

我想在 Node 中使用 Mustache.js 将模板与数据分开...如果可能的话,使用 fs.readFile 并不明显。有什么想法吗?

我使用 data.js 作为数组模型,使用 helloworld.html 作为模板

var mustache = require('mustache');
var fs = require('fs');
var http = require('http');

http.createServer(function (req, res) {
console.log('request recieved at ' + (new Date()).getTime());
fs.readFile('./data.js', encoding='utf8',function(err, data) {
model2 = data;
console.log(model2); //logs the data.js as expected
});
fs.readFile('./helloworld.html', function(err, template) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.end(mustache.to_html(template.toString(),model2)); //model2 is not being passed in
});
}).listen(8081);

最佳答案

您可以尝试使用 jinjs 。它是 Jinja 的一个端口,Jinja 是一个非常好的 Python 模板系统。您可以像这样使用 npm 安装它:

npm install jinjs

在 template.tpl 中:

I say : "{{ sentence }}"

在你的 template.js 中:

jinjs = require('jinjs');
jinjs.registerExtension('.tpl');
tpl = require('./template');
str = tpl.render ({sentence : 'Hello, World!'});
console.log(str);

输出将是:

I say : "Hello, World!"

关于node.js - 在 Node 中使用 Mustache.js 将数据与 View 分离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6739597/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com