2016-07-23 112 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; 
} 

瞧!