2014-03-25 126 views
1

我想打電話給如何從POST中的另一個js文件調用函數?

function sendMessageToUser(message, user) 

這在function.js文件,我已經具備的功能的工作,我只是把它的一條線以供參考。

我也有一個web.js文件,該文件已app.post在那裏的,這是我想要的功能在被調用。

app.post("/web/suggest_oncall", function(req, res){ 
    console.log(req.user.name + " wants to suggest " + req.body.user + " as the next on call for the " + req.query.position + " positon " + "of the " + req.query.list + " team."); 
    res.send("Hi."); 
    sendMessageToUser("hi", req.body.user); 
    console.log("Sending SMS to " + req.body.user); 
}); 

它記錄到coneome沒有定義sendMessageToUser,如何我可以讓它識別該功能嗎?

+0

這取決於你試圖調用的函數的範圍......這從您提供的代碼中不清楚.. –

+0

@TilwinJoy範圍在哪裏?我相當新 – user3456876

+0

如果您只是在腳本中定義函數,它們將位於窗口對象下,稱爲全局範圍。如果你在另一個函數中定義了函數的任何函數,函數作用域將僅在父函數中。 BTW確保包含'sendMessageToUser();'的文件在文件有文章之前加載。 –

回答

0

你必須通過把這樣的事情在年底sendMessageToUser從function.js出口:

module.exports = { 
    sendMessageToUser: sendMessageToUser 
}; 

然後你就可以在web.js導入功能模塊通過將這種頂部:

functions = require("./function"); 

然後sendMessageToUser可作爲functions.sendMessageToUser訪問。

require("./function")在JS文件function.js中返回module.exports的值。

相關問題