2012-11-11 64 views
1

我是一個完整的初學者node.js。jsRender和node.js

我試圖做的是分析在服務器端jsrender模板

我donwloaded jsrender.js從git

這是我嘗試...保存爲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 module

這句法:

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

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

    console.log(result); 
}); 

也是空的結果:(

回答

2

所以首先你需要安裝Node.js的模塊。

npm install node_jsrender 

這將創建一個內部node_jsrender目錄node_modules目錄。接下來你需要要求。

var jsrender = require('node_jsrender'); 

如果需要方法的第一個參數與./開始就意味着你要導入一個本地文件。沒有它,Node.js將查看node_modules目錄。

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

我檢查了模板引擎的語法和它的{{=而不是{{:

+0

我已經看到它使用匿名回調方式...但無論如何...即使我這樣做,就像在第二個版本中,我得到一個錯誤,渲染不是jsrender的方法 –

+0

你從哪裏看到?因爲這是錯誤的。 – Pickels

+0

不能再嘗試......好吧,我照你的建議做了。我安裝了模塊npm install node_js_render(在安裝了node.js的目錄中的窗口上,並且它顯示了node_modules目錄中的所有源代碼)....然後,我按照您在我的腳本中的建議做了... ...並且我我得到的錯誤:錯誤:無法找到模塊'./jsrender' –