0
我有一个文件名为helpers.js包含以下通在功能名称中req.params节点
var helpers = {
add: function(a,b){
return a+b;
},
sub: function(a,b){
return a-b;
},
mult: function(a,b){
return a*b;
},
div: function(a,b){
return a/b;
},
math: function(a,b,callback){
return callback(a,b);
}
};
module.exports = helpers;
在我app.js我包括
var express = require("express"),
app = express(),
ejs = require("ejs"),
helpers = require("./helpers");
,我试图让用户在这里输入函数名作为参数:
app.get('/number/:num1/:num2/:operation', function(req,res){
var a = parseInt(req.params.num1);
var b = parseInt(req.params.num2);
var operation = req.params.operation;
var result = helpers.operation(a,b);
res.render('math', {result: result});
});
由于变量操作是一个字符串,所以I a m得到错误对象#没有方法“操作”。有什么办法将这个参数转换成函数吗?还是有更好的方法来尝试做到这一点?谢谢!