2011-09-14 44 views
0

我有一个server.js许多功能。Node.js:Server.js越来越杂乱功能

app.post '/record2', (req,res) -> 
app.post '/record', (req,res) -> 
app.post '/incoming', (req,res) -> 
app.post '/call', (req,res) -> 

etc.. 

它开始变得非常混乱。让server.js更清晰,更易于理解的最佳方式是什么?

谢谢

+0

功能没有按值调用所需的功能不会让代码混淆。只有他们的代码。 – Epeli

回答

3

我假设您使用Express?过去我做的事情是为相关处理程序创建模块。例如,

像这样的东西在record-handlers.js

module.exports = { 
    record2: function(req, res) { ... }, 
    record: function(req, res) { ... } 
}; 

然后在server.js

var recordHandlers = require('./record-handlers'); 

app.post('/record2', recordHandlers.record2); 
app.post('/record', recordHandlers.record); 
... 

*我对您的转换来的CoffeeScript JS道歉 - 我不知道CS的。

0

正如你可以看到here(线231通过235)

switch (config.method) { 

    case 'GET': server.get(config.path, internals.preprocessRequest, routes, config.handler, internals.finalizeResponse); break; 
    case 'POST': server.post(config.path, internals.preprocessRequest, routes, config.handler, internals.finalizeResponse); break; 
    default: process.exit(1); break; 
} 

的路由和处理程序是在不同的模块。

0

另一种策略是使用这样一个包罗万象的路线:

/:action 

和使用switch语句的基础上

req.param('action')