更詳細的內容請參見:http://nej.netease.com/course/topic/template/css
NEJ的模塊化開發的全稱爲基於模板的模塊化開發,因此能夠看到模板是模塊化開發的基礎。html
NEJ模板系統很是注重效率。模板在添加的時候,不會解析。在初次使用的時候,模板纔會被解析,而且將解析結果緩存起來以備後續使用。node
基本模板就是咱們一般所說的客戶端結構模板,包括Text模板、Node模板、JST模板、Item模板。這些模板提供了html、dom以及頁面邏輯的緩存。 開發人員使用這些模板,能夠在用戶操做時,便利地展現頁面結構(初始不可見的);能夠在異步數據返回時,便利地拼裝數據與頁面結構,展現給用戶。segmentfault
text模板提供了基本的文本緩存功能, 模板標示符爲txt。開發人員能夠使用這個模板來緩存html結構,可是通常狀況下開發人員比較少使用Text模板,而是使用功能更強大的Item模板或JST模板。緩存
nej.e._$addTextTemplate
nej.e._$getTextTemplate
實例展現:http://runjs.cn/code/icqzwgm3dom
Node模板提供了基本的節點緩存功能,模板標示符爲ntp。開發人員能夠使用這個模板來緩存DOM節點,可是通常狀況下開發人員不會直接使用Node模板,而是使用Item模板。在使用Item模板時,使用Node模板來生成節點。異步
nej.e._$addNodeTemplate
實例:http://runjs.cn/code/giatvahh模塊化
Item模板提供了(節點+邏輯)緩存功能,很是適合帶有邏輯的列表項的開發。Item模板通常使用Node模板來獲取節點。
實例展現:http://runjs.cn/code/c7kav8qs工具
JST模板是基於模板生成文本輸出的通用工具,模板標示符爲jst。JST的語法相似於freemaker。開發人員通常使用JST來合併數據與html結構。
實例展現:http://runjs.cn/code/mfqzzlemspa
CSS模板提供了CSS文件延遲加載以及CSS代碼段延遲生效功能, 模板標示符爲css。CSS模板是經過通用接口nej.e._$parseTemplate來調用。
實例展現:http://runjs.cn/code/sqivrbcm
JS模板提供了js文件延遲加載以及js代碼段延遲生效功能, 模板標示符爲js。JS模板是經過通用接口nej.e._$parseTemplate來調用。
範例
需求: 在用戶的某個操做後,a.js、b.js纔會被加載,一段js代碼段會生效。 下面是用JS模板實現以上需求的html、js代碼:
實例展現:http://runjs.cn/code/iymavjto