我有一个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更清晰,更易于理解的最佳方式是什么?
谢谢
我有一个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更清晰,更易于理解的最佳方式是什么?
谢谢
我假设您使用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的。
正如你可以看到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;
}
的路由和处理程序是在不同的模块。
另一种策略是使用这样一个包罗万象的路线:
/:action
和使用switch语句的基础上
req.param('action')
功能没有按值调用所需的功能不会让代码混淆。只有他们的代码。 – Epeli