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">