0

我将 node.js 与 express 框架一起使用,并且我已经弄清楚了路由是如何工作的。

app.get('/save',webcalender.save);

我有一个具有此功能的网络日历文件:

exports.save = function(req, res){
res.send(req.query["headline"]);};

但是我将如何构建一个不同的函数并在那里使用它:

exports.test = function() { console.log("test"); }

我试过了:

exports.save = function(req, res){
    test(); or webcalender.test or also test = webcalender.test(); and then test;
res.send(req.query["headline"]);};

谢谢你的帮助

4

1 回答 1

2

这个问题有点不清楚。

我假设save函数在一些中定义webcalendar.js并导入

var webcalendar = require('./webcalendar.js');

我现在在两种情况下打破答案。

假设test功能相同webcalendar.js

然后你可以做类似的事情

var test = function() {console.log("test");}
exports.test = test;

或者在一行

var test = module.exports.test = function() {console.log("test");}

然后test在同一个模块中使用test();就像你做的那样简单地调用。

如果 iftest在另一个模块中定义

让我们说,test.js为了在webcalendar.js模块中使用它,你必须像这样要求它:

var test = require('./test.js').test;
exports.save = function(req, res){
    test();
res.send(req.query["headline"]);};

或者干脆

exports.save = function(req, res){
    require('./test.js').test();
res.send(req.query["headline"]);};

这应该涵盖大多数情况,如果不是,请澄清您的问题,因为正如我之前所说,它不清楚。

另外,我建议您熟悉nodejs 模块,以了解需要导出的原因、内容和时间,因为您不清楚为什么要导出该test函数(以防它仅在webcalendar.js模块中使用)。 这是nodejs需要的另一个好资源

祝你好运!

于 2012-06-10T15:24:49.150 回答