Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在渲染中将函数从模块文件传递到模板/视图_Javascript_Node.js_Express_Lodash - Fatal编程技术网

Javascript 在渲染中将函数从模块文件传递到模板/视图

Javascript 在渲染中将函数从模块文件传递到模板/视图,javascript,node.js,express,lodash,Javascript,Node.js,Express,Lodash,我想知道是否可以将函数从模块文件传递到所有模板文件。假设我在func.js文件中有几个函数 func.js module.exports = { create_img = function(img,title,cl){ var sb = '<a title="'+title+'" href="'+img+'"><img class="'+cl+'" src="'+img+'"></a>'; return sb; }, create_hea

我想知道是否可以将函数从模块文件传递到所有模板文件。假设我在
func.js
文件中有几个函数

func.js

module.exports = {
 create_img = function(img,title,cl){
    var sb = '<a title="'+title+'" href="'+img+'"><img class="'+cl+'" src="'+img+'"></a>';
    return sb;
 },
 create_header = function(type){
    var header_html = "";
    if(type == 1){
       .....
    }else{
       .....
    }
    return header_html
 }  
}
在模板文件中(我使用lodash进行渲染):


“alt”123“>

我认为这不是一个好主意,你能解释一下为什么要这样做吗?@NarendraSoni,假设我有多个模板,我不想在每个模板中反复定义相同的函数。正确的方法是只将JSON数据传递给客户端。但在你的情况下,你是在传递函数。那么你为什么要这样做呢?
var express = require('express')
, app = express()
, http = require('http').createServer(app)
, func = require('func')

app.get('/p/:tagId', function(req, res){ 
  var filename = req.param("tagId");
  /* db.db.query('CALL load_page()') .....database code */ 
  res.render(filename+'.html',{result:database_result,functions:func}) 
}
 <% functions.create_header(0) %>
 <img src="<% functions.sb(i.src,'eslider_img') %>" alt"123">