最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Node.js項目中調(diào)用JavaScript的EJS模板庫的方法

 更新時間:2016年03月11日 17:50:49   作者:zxsrendong  
這篇文章主要介紹了Node.js項目中調(diào)用JavaScript的EJS模板庫的方法,通過EJS模板引擎可以制作出維護性良好的HTML代碼結(jié)構(gòu),需要的朋友可以參考下

作為外部模塊,調(diào)用的方法和mysql模塊是相同的,不再贅述。

ejs的render函數(shù)有兩個參數(shù) 第一個是字符串,第二個是可選的對象,和其他javascript模版一樣需要渲染的數(shù)據(jù)也是包含在option對象中的

ejs.render(str,option); 
// 渲染字符串 str 一般是通過nodejs文件系統(tǒng)的readfile方法讀取 
ejs.render(str,{ 
  data : user_data // 需要渲染的數(shù)據(jù) 
}); 

當(dāng)str字符串中沒有包含 include 標(biāo)簽時,渲染數(shù)據(jù)是沒有問題的,反之,就會報錯。前面已經(jīng)講過我的項目文件和nodejs的安裝文件不在同一個根目錄下。解決這個問題需要配置option參數(shù)的filename屬性。

查看ejs源碼,會發(fā)現(xiàn),ejs在處理include包含文件的路徑時會用到一個resolveInclude函數(shù):

function resolveInclude(name, filename) { 
 var path = join(dirname(filename), name); 
 var ext = extname(name); 
 if (!ext) path += '.ejs'; 
 return path; 
} 

filename正是dirname函數(shù)的參數(shù),作為nodejs核心模塊的path.dirname(),返回的path總是相對nodejs的安裝路徑,如果不指定filename值,就會找不到文件
在使用dirname時應(yīng)當(dāng)注意,函數(shù)處理傳入的路徑參數(shù)時會截取第一個
 '/' 之前的部分作為路徑名例如:

path.dirname('/foo/bar/baz/asdf/quux') 
// returns 
'/foo/bar/baz/asdf' 

要取得tpl目錄可以這樣寫:

path.dirname('/tpl/..') // return /tpl 

完整的render函數(shù)可以這樣:

ejs.render(str,{ 
  filename : path + '/tpl/..', //tpl文件中保存的是模版文件 
  data: user_data 
}); 

相關(guān)文章

  • Node.js中Swagger的使用指南詳解

    Node.js中Swagger的使用指南詳解

    Swagger(目前用OpenAPI?Specification代替)是一個用于設(shè)計、構(gòu)建、記錄和使用REST?API的強大工具,本文將探討使用Swagger的一些關(guān)鍵技巧,需要的可以參考一下
    2024-01-01
  • node將geojson轉(zhuǎn)shp返回給前端的實現(xiàn)方法

    node將geojson轉(zhuǎn)shp返回給前端的實現(xiàn)方法

    這篇文章主要介紹了node將geojson轉(zhuǎn)shp返回給前端的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 10個Node.js庫幫助你優(yōu)化代碼和簡化開發(fā)

    10個Node.js庫幫助你優(yōu)化代碼和簡化開發(fā)

    這篇文章主要介紹了10個Node.js庫幫助你優(yōu)化代碼和簡化開發(fā),其中包括處理數(shù)組、對象、字符串庫Lodash,緩存數(shù)據(jù)處理庫Node-cache,解析、操作和格式化日期和時間庫Moment.js,Redis操作庫,發(fā)送電子郵件庫Nodemailer
    2023-05-05
  • 淺析Nodejs npm常用命令

    淺析Nodejs npm常用命令

    這篇文章主要介紹了淺析Nodejs npm常用命令的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • node版本切換與版本升級降級教程(win)

    node版本切換與版本升級降級教程(win)

    nvm是一個node的版本管理工具,可以簡單操作node版本的切換、安裝、查看,下面這篇文章主要給大家介紹了關(guān)于node版本切換與版本升級降級教程的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • angularJS 如何讀寫緩沖的方法(推薦)

    angularJS 如何讀寫緩沖的方法(推薦)

    angularJS 如何讀寫緩沖?下面小編就為大家?guī)硪黄猘ngularJS 讀寫緩沖的方法(推薦)。希望對大家有所幫助。一起跟隨小編過來看看吧
    2016-08-08
  • NODE.JS加密模塊CRYPTO常用方法介紹

    NODE.JS加密模塊CRYPTO常用方法介紹

    這篇文章主要介紹了NODE.JS加密模塊CRYPTO常用方法介紹,需要的朋友可以參考下
    2014-06-06
  • 淺談Node異步編程的機制

    淺談Node異步編程的機制

    本篇文章主要介紹了淺談Node異步編程的機制,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • Node.js中的require.resolve方法使用簡介

    Node.js中的require.resolve方法使用簡介

    在Node.js中,可以使用require.resolve函數(shù)來查詢某個模塊文件的帶有完整絕對路徑的文件名,下面這篇文章主要介紹了Node.js中require.resolve方法使用的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-04-04
  • 詳解如何實現(xiàn)自由切換Node.js版本

    詳解如何實現(xiàn)自由切換Node.js版本

    作為開發(fā)者,我們經(jīng)常在不同的項目中需要使用不同版本的 Node.js,有時舊項目需要舊版本,而新項目則可能依賴最新的 Node.js 版本,本文將介紹幾種常用的方法來自由切換 Node.js 版本,需要的朋友可以參考下
    2024-10-10

最新評論

龙海市| 北票市| 湖州市| 鄂州市| 镇原县| 曲松县| 正定县| 和田市| 丘北县| 萨嘎县| 宜君县| 江安县| 定远县| 开鲁县| 易门县| 泸州市| 滕州市| 额尔古纳市| 临湘市| 库伦旗| 上思县| 临江市| 大同县| 永兴县| 东丽区| 紫金县| 乌拉特后旗| 册亨县| 黑龙江省| 宜宾市| 宣化县| 枣庄市| 崇信县| 南雄市| 湟源县| 集贤县| 津市市| 德令哈市| 鸡东县| 六安市| 汨罗市|