1

我是 node.js 的完整初学者。

我尝试做的是在服务器端解析一个 jsrender 模板

我从git下载了 jsrender.js

这是我的尝试……保存为 render.js:

var data = [
    {id:1, name:"tom"},
    {id:2, name:"jack"},
]

require('./jsrender.js', function(jsrender){
    console.log('test');
    var result = jsrender.render['<p>{{:id}} <b>{{:name}}</p>']( data );
    console.log(result);
} );

然后运行它(节点 render.js)

我什么也没得到

我究竟做错了什么?

==================================================== ====

也尝试过这种方式:

 var data = [
    {id:1, name:"tom"},
    {id:2, name:"jack"},
]
var jsrender = require('./jsrender.js');

var result = jsrender.render('<p>{{:id}} <b>{{:name}}</p>',data );
console.log(result);

我得到

var result = jsrender.render('<p>{{:id}} <b>{{:name}}</p>',data );
                      ^
TypeError: Object #<Object> has no method 'render'

==================================================== =======================

也尝试安装这个node_jsrender 模块

这个语法:

var jsrender = require('./jsrender');

process.on('start', function () {
  jsrender.template("yourtemplate", "{{:myvar}}");
  var result = jsrender.render("yourtemplate", {myvar:"Hello World!"});

  console.log(result);
});

也是空结果:(

4

1 回答 1

2

所以首先你需要安装 Node.js 模块。

npm install node_jsrender

这将创建一个 node_modules 目录,其中包含 node_jsrender 目录。接下来你需要要求。

var jsrender = require('node_jsrender');

如果 require 方法的第一个参数以它开头,./则表示您要导入本地文件。没有它,Node.js 将查看 node_modules 目录。

jsrender.template("yourtemplate", "{{=myvar}}");
var result = jsrender.render("yourtemplate", {myvar:"Hello World!"});

我检查了该模板引擎的语法,它是{{=不是{{:

于 2012-11-11T16:01:48.550 回答