我正在制作单页应用,我想知道我是否真的做得对。目前,对于等待来自服务器回调的每个按钮,我发送一个ajax请求,并在服务器上处理它router.post /如下:
的index.html
<button id='baz' class'.foo'>Foo</button>
的script.js
$(document).on('click', '.foo', function() {
var cursor = $(this);
$.ajax({
url: 'modalRoutes/bar',
type: 'POST',
dataType: 'json',
timeout: 5000,
data: {
baz: cursor.attr('id')
},
beforeSend: function() {
cursor.addClass('disabled');
},
complete: function() {
cursor.removeClass('disabled');
},
success: function(data) {
// do somehting here
},
error: function(err) {
console.log(err);
}
});
});
modalRoutes.js
var express = require('express');
var router = express.Router();
router.post('/bar', function(req,res){
// do some stuff here
res.send('done')
});
module.exports = router;
我的modalRoutes.js文件正在增长,我几乎没有启动它已经拥有超过500行代码,这是处理节点按钮的最佳方式吗?
答案 0 :(得分:2)
你可以拥有多个模块,每个模块都导出一个默认功能,然后只需导入它们就可以将它们应用到路由器上,例如:
模块代码:
module.exports = function(router) {
router.post('/buylicense', function() {
// do some stuff here
res.send('done');
});
}
在modalRoutes中,执行:
var express = require('express');
var router = express.Router();
require('./someRoute')(router);
// add other imports here
module.exports = router;