gpt4 book ai didi

javascript - Node mustache 渲染服务器端

转载 作者:行者123 更新时间:2023-11-30 18:16:13 24 4
gpt4 key购买 nike

我正在尝试创建一个简单的应用程序来将 mustache 模板编译成服务器端的静态页面,这是我目前所获得的:

var view = {

title: "Joe",
calc: function () {

return 2+4;
}

};

var mustache = require("mustache");
var template = require("./home.template");

var output = mustache.to_html(template, view);

console.log(output);

我的模板看起来像:

{{title}} spend {{calc}}

关于导致此失败的原因有什么建议吗?

完整的错误信息如下:

home.template:1
} spend {{calc}}
^

module.js:437
var compiledWrapper = runInThisContext(wrapper, filename, true);
^
SyntaxError: Unexpected token {
at Module._compile (module.js:437:25)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object.<anonymous> (/Users/MorehouseJ09/Documents/production_development/mustache/current/compiler.js:12:16)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)

任何帮助都会很棒!

最佳答案

使用fs.readFile() 将您的模板作为字符串读入。 Require 将不起作用,除非它需要 javascript 代码,而不是 mustache 代码。

http://nodejs.org/api/fs.html#fs_fs_readfile_filename_encoding_callback

编辑
看看这是否有效...

var mustache = require("mustache");
var fs = require("fs");

var view = {

title: "Joe",
calc: function () {

return 2+4;
}

};

fs.readFile('./home.template', 'utf-8', function (err, data) {
if (err) throw err;
var output = mustache.to_html(data, view);
console.log(output);
});

关于javascript - Node mustache 渲染服务器端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13182068/

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