2016-07-23 119 views
0

我目前正在使用Node設置一個商店,並且有很多幫助函數可用於跨不同的模板文件(例如calc_taxes()...)出於某種奇怪的原因,當我嘗試包含僅包含函數的模板部分時,控制檯中出現錯誤。(NodeJs,Express)導致錯誤

(我使用此語法)

<%- include functions.ejs %> 

錯誤我得到

express deprecated res.send(body, status): Use res.status(status).send(body) instead routes/errors.js:11:7 

示例代碼

<% products.forEach(function(product){ %> 

     <div class="item" dkit-grid="col-3"> 
      <div class="item_img" dkit-grid="col-12"> 
       <img src="<%= get_product_image(product) %>"> 
      </div> 

      <div class="item_desc" dkit-grid="col-12"> 
       <a href="/produit/<%= get_product_slug(product) %>" class="item_name"> 
        <%= get_product_name(product) %> 
       </a> 
       <span class="item_price"> 
        <%= get_product_price(product) %> 
       </span> 
      </div> 
     </div> 

    <% }); %> 

我已用測試包含虛擬內容的文件t像一個<h1>wowow</h1>和它輸出...但與我只包含一堆函數聲明的文件,我什麼也沒有:(。

+0

你在第11行有'routes/errors.js'和'res.send(arg11,arg2)'嗎? –

回答

0

經過多次嘗試後,我終於找到了一種方法來做到這一點。如果你有同樣的錯誤,或引用錯誤,首先你需要添加到您的app.js:

var fs = require('fs'); 

在你包括呼叫,請確保您使用此語法:

<%- include functions.ejs %> 

當你宣佈你的函數,請確保您不使用「無功」或「讓」,因爲你的功能將在該文檔的範圍被卡住,這裏是工作的例子:

get_product_slug = function(product){ 
    return product.slug; 
} 

瞧!