2
我試圖從Jade切換到Swig(被Swig的瘋狂性能吸引)作爲我的快速模板引擎,當我卡在這裏時 - 我從Express發送一個序列化JSON數組到Swig並使用Swig檢索數據這個循環在這裏:Swig(Node.js)中的JSON.parse()?
<ul id = "list">
{% if items %}
{% for item in items %}
{{ JSON.parse(item).title }}
{% endfor %}
{% endif %}
</ul>
...但我得到這個:
SyntaxError: Unexpected token)
at Object.Function (unknown source)
at createTemplate (/home/vijay/node_modules/swig/index.js:72:14)
at getTemplate (/home/vijay/node_modules/swig/index.js:109:26)
at Object.compile (/home/vijay/node_modules/swig/index.js:153:16)
如果我改變JSON.parse(item).title
到JSON.parse(item)
上面,而不是錯誤,我得到這個在我看來:
function parse() { [native code] }
下面就來看看在item
JSON對象:
item {
id : 2,
title : 'City Life ',
author : 'Timothy J. Lindenburg',
date : 1337498792626,
indent : 0
}
簡單地說,我要訪問痛飲個別按鍵和item
值,但我不能讓JSON.parse()來工作。如果有人指出我的方向正確(我被告知Swig基於Django模板,所以如果你使用過這些模板,這應該很簡單),如果有人會指出我會很感激。
1.在將數組傳遞給Swig之前,不能解析該數組中的JSON項嗎?這意味着像'items = items.map(JSON.parse);'。 –
當然,但我不想在同一個數組中運行兩次,一次使用map並再次使用'for'循環,這是出於性能原因。現在我得到了864個reqs/sec,我希望它能繼續提高。第二件事是我不確定如何在Swig中執行JavaScript函數;有一個變量和循環的語法,但沒有提到有關函數,所以我希望解決這個問題會告訴我如何去做其他的JS函數。 – vjk2005