现在所用的前端架构可以简称为my angel(mongoose yoman angular nodejs grunt express less),后来因为一些原因mongoose改成MySQL。restful的设计风格,因为用nodejs + restful会有很好的开发体验。
对于一个项目node端的设计,会把一些基础的有不可缺少的初始化放在app.js里。所以这里面会有基本的配置:createServer,初始化express等;通过使用 node express,你可以实现中间件来响应 http 请求,可以定义路由表来定义对不同请求的响应函数;
对于路由的配置则放置在route.js文件里。这样分开是为了让代码结构分明,更具有语义化。所以在通过读文件名,会知道这个文件放置的都是配置路由相关信息的。它主要是加载一些中间件,与实际controller.js的业务功能分隔开,这样也可对中间件的复用性提高。
也不需要在每次使用controller时使用express();只要在app.js里var app = express();考虑到会使用到app的地方就在route.js里,所以只要在app.js,做这样的操作:require('./routes')(app);那route.js里就可以这样用了:
module.exports = function(app){
app.use("/books",requires('/**'))//加载中间件,即调用controller文件中处理业务的逻辑。在中间件里则会var router = express.router();
};
此时的router相当于迷你的express,可以使用router.get('/',function(res,req){//业务操作});
这样一来使得路径、中间件、控制器的关系更加紧密。