Express服务器启动时如何运行一个函数?

我似乎无法弄清楚如何让我的快递服务器运行一个简单的function,当服务器启动。 在服务器启动时调用一个函数的合适位置以及正确的语法在哪里?

我在我的路线文件中的函数为exports.myFunction = function() { code here};

我试图将它作为routes.myFunction粘贴在app.configure块中。 我试着改变它在路由只是myfunction() { code} ,然后在configuration块调用它作为routes.myfunction() ,没有运气那里要么。 该函数需要保留在包含我的路由的文件,因为它改变了一些全局variables。

我知道这是一些愚蠢的简单的语法的东西,但我似乎无法在这里或谷歌find任何提示。 非常感谢您的帮助!

使用这个事件:

 app.on('listening', function () { // server ready to accept connections here }); 

说实话,由express.createServer()返回的app只是http.Server,所以与http.Server相关的nodejs文档中描述的所有内容对express和railwayjs都是有意义的 。

我会保持简单。 在你调用app.listen(port)的模块中,只需在之前(或之后)调用你的启动函数即可。 如果你需要这个函数来存放在一个单独的模块中,那么你只需要导出它,这样你的主server.js模块就可以在启动时调用它了。 如果你仍然不满意,可以考虑绑定一个事件监听器在express / connect的某个地方,尽pipe我不确定是否有明确的“启动”事件被发射。

在server.js(或者你启动快速服务器的任何模块)中,执行以下操作:

 var myRoutes = require("./myroutes"); var app = express.createServer(); ... app.listen(8080, "127.0.0.1", function() { myRoutes.myFunction(); }); 

@Anatoly说,你也可以绑定到“收听”事件。 倾听活动的文档在这里 。