一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

node.js 模板 ejs

 昵稱597197 2016-01-15
node.js 模板引ejs。 
搜了一把推薦用ejs的最多。 
速度比對:http://www.cnblogs.com/fengmk2/archive/2011/04/28/2031971.html 

ejs速度不是最快的,推薦最多大概是因為其簡單的語法結構。主要通過<% %><%=%>來嵌套代碼。比如符合閱讀邏輯,同時也省去不少學習語法的成本。 
另有一些自定義的方法:如link_to(name, url),img_tag(url)等。 
還可以支持json。 
=========== 
ejs的特性: 
    1、緩存功能,能夠緩存已經解析好的html模版; 
    2、<% code %>用于執(zhí)行其中javascript代碼; 
    3、<%= code %>會對code進行html轉義; 
    4、<%- code %>將不會進行轉義; 
    5、支持自定義標簽,比如'<%'可以使用'{{','%>'用'}}'代替; 
    6、提供一些輔助函數(shù),用于模版中使用 
    7、利用<%- include filename %>加載其他頁面模版; 
    
    使用示例 
    1、ejs.compile(str, options); 將返回內部解析好的Function函數(shù) 
    2、ejs.render(str, options); 返回經過解析的字符串 

    其中options的一些參數(shù)為: 
    1、cache:是否緩存解析后的模版,需要filename作為key; 
    2、filename:模版文件名; 
    3、scope:complile后的Function執(zhí)行所在的上下文環(huán)境; 
    4、debug:標識是否是debeg狀態(tài),debug為true則會輸出生成的Function內容; 
    5、compileDebug:標識是否是編譯debug,為true則會生成解析過程中的跟蹤信息,用于調試; 
    6、client,標識是否用于瀏覽器客戶端運行,為true則返回解析后的可以單獨運行的Function函數(shù); 
    7、open,代碼開頭標記,默認為'<%'; 
    8、close,代碼結束標記,默認為'%>'; 
    9、其他的一些用于解析模版時提供的變量。 
    在express中使用時,options參數(shù)將由response.render進行傳入,其中包含了一些express中的設置,以及用戶提供的變量值。 

    此外ejs還提供了一些輔助函數(shù),用于代替使用javascript代碼,使得更加方便的操縱數(shù)據(jù)。 
    1、first,返回數(shù)組的第一個元素; 
    2、last,返回數(shù)組的最后一個元素; 
    3、capitalize,返回首字母大寫的字符串; 
    4、downcase,返回字符串的小寫; 
    5、upcase,返回字符串的大寫; 
    6、sort,排序(Object.create(obj).sort()?); 
    7、sort_by:'prop',按照指定的prop屬性進行升序排序; 
    8、size,返回長度,即length屬性,不一定非是數(shù)組才行; 
    9、plus:n,加上n,將轉化為Number進行運算; 
    10、minus:n,減去n,將轉化為Number進行運算; 
    11、times:n,乘以n,將轉化為Number進行運算; 
    12、divided_by:n,除以n,將轉化為Number進行運算; 
    13、join:'val',將數(shù)組用'val'最為分隔符,進行合并成一個字符串; 
    14、truncate:n,截取前n個字符,超過長度時,將返回一個副本 
    15、truncate_words:n,取得字符串中的前n個word,word以空格進行分割; 
    16、replace:pattern,substitution,字符串替換,substitution不提供將刪除匹配的子串; 
    17、prepend:val,如果操作數(shù)為數(shù)組,則進行合并;為字符串則添加val在前面; 
    18、append:val,如果操作數(shù)為數(shù)組,則進行合并;為字符串則添加val在后面; 
    19、map:'prop',返回對象數(shù)組中屬性為prop的值組成的數(shù)組; 
    20、reverse,翻轉數(shù)組或字符串; 
    21、get:'prop',取得屬性為'prop'的值; 
    22、json,轉化為json格式字符串 

===================== 
不過,我感覺js代碼和html代碼混在一塊的情況并不是特別友好。 
模板示例: 
Html代碼  收藏代碼
  1. <!-- templates/supplies.ejs -->  
  2.   
  3. <h1>Supplies</h1>  
  4. <ul>  
  5. <% for(var i=0; i<supplies.length; i++) {%>  
  6.    <li><%= supplies[i] %></li>  
  7. <% } %>  
  8. </ul>  


關于ejs的使用可參照: 
http://node-js./post/2012-07-03/40029704518 
http://blog.csdn.net/lisownjay/article/details/16952723 
http://www./board/4fddc4f0b28ed7d857001674#/post/4fddc603b28ed7d85700168a 
http:///index.html

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    九九视频通过这里有精品| 我想看亚洲一级黄色录像| 国产熟女高清一区二区| 欧美不雅视频午夜福利| 久久中文字幕中文字幕中文| 色哟哟哟在线观看视频| 粗暴蹂躏中文一区二区三区| 加勒比人妻精品一区二区| 99香蕉精品视频国产版| 中国一区二区三区不卡| 五月激情五月天综合网| 办公室丝袜高跟秘书国产| 97人摸人人澡人人人超碰| 夫妻性生活一级黄色录像| 狠色婷婷久久一区二区三区| 午夜福利视频六七十路熟女| 久久国内午夜福利直播| 欧美成人免费夜夜黄啪啪| 久久机热频这里只精品| 欧洲偷拍视频中文字幕| 欧洲偷拍视频中文字幕| 99久久国产精品成人观看| 国产成人午夜av一区二区| 欧美日韩国内一区二区| 人妻人妻人人妻人人澡| 色婷婷成人精品综合一区| 午夜日韩在线观看视频| 九九九热在线免费视频| 久久精品国产99国产免费| 好吊妞在线免费观看视频| 久久一区内射污污内射亚洲| 亚洲精品中文字幕在线视频| 久久午夜福利精品日韩| 又黄又硬又爽又色的视频 | 国产亚洲精品久久久优势| 久久国产成人精品国产成人亚洲| 国产精品自拍杆香蕉视频| 精品推荐久久久国产av| 国产一级片内射视频免费播放| 精品丝袜一区二区三区性色| 尹人大香蕉中文在线播放|