路由是最能体现一个网站运作方式的文件,然而如果里面放入太多方法,就会变得臃肿,所以将方法放入controller(控制器)。
下面看一下对比:
方法放入controller前:
module.exports = function (app) { app.get('/pages/main_page.html', function (req, res) { res.sendfile('public/pages/main_page.html'); }); app.post('/pages/save_meal_info',function(req,res){ var lists = new List_info(req.body.name,req.body.restaurant,req.body.meal,req.body.price); lists.save(function(err){ }) }); app.get('/pages/get_meal_list',function(req,res){ Take_list.getAll(function (err, posts) { if (err) { posts=[] } res.send(posts) }) }); app.get('/pages/order-meal.html', function (req, res) { res.sendfile('public/pages/order-meal.html'); }); app.get('/pages/pick_people.html', function (req, res) { res.sendfile('public/pages/pick_people.html'); }); app.get('/pages/get_names',function(req,res) { Person.getAll() .then(function(result){ res.send(result) }) });
放入controller后:
module.exports = function (app) { app.get('/pages/get_names', NameController.getAll); app.get('/pages/get_meal_list', OrderFormController.getAll); app.get('/pages/main_page', MainControllre.show); app.post('/pages/save_meal_info', OrderFormController.save); app.get('/pages/order-meal', OrderMealController.show); app.get('/pages/pick_people', PickPeopleController);
整洁,一目了然。
写法:
在根目录新建文件夹controller用于存放,最好操作同一数据的controller放在一个文件中。
controller示例:
function ListInfoController(){ } ListInfoController.show = function(req,res){ res.sendfile('public/pages/show_list.html'); }; module.exports = ListInfoController;
Person = require('../models/Person.js'); function NameController(){ } NameController.getAll = function(req,res){ Person.getAll() .then(function(name){ res.send(name) }) }; module.exports = NameController;
相关推荐
传统的网络维护很困难:新协议的部署和故障排除使网络维护变得非常困难。 在SDN环境中,SDN通过使用层次结构的思想将数据与控制分开。 在控制层(包括逻辑集中和可编程控制器)中,它可以掌握全局网络信息,方便...
二、简明高效的视图运行机制,使视图文件的开发操作变得简单易行。 三、灵活的扩展模块(module)设计,能够非常容易地调用如:SMARTY、ADODB、CKEDITOR、TINYEDITOR、FPDF、PHPMAILER、PHPRPC等第三方开源程序。...
对于现代企业而言, Web 应用程序已经变得十分重要,不仅能 够提供高效便捷的服务体验,还能直接影响到企业的经营和发展。 因此,开发和部署Web 应用程序必须高效可靠,这就需要使用优 秀的 Web 开发框架和工具,而 ...
虽然目前的组件库还不算丰富健壮,但是基于这种开发模式,使组件的扩展变得非常的容易。 windframework拥有一个强健的内核,它实现了基于配置的Ioc控制反转技术。开发者只需要简单的配置,就可以实现类的依赖注入,...
但是当我们的网站渐渐庞大起来,这样子的加载策略让网速初始化速度变得越来越慢,用户体验不好。二来,分模块加载易于团队协作,减低代码冲突。 二、按需加载的对象 各个Controller模块、Directive模块、Server模块...
二、简明高效的视图运行机制,使视图文件的开发操作变得简单易行。 三、灵活的扩展模块(module)设计,能够非常容易地调用如:SMARTY、ADODB、CKEDITOR、TINYEDITOR、FPDF、PHPMAILER、PHPRPC等第三方开源程序。 四...
二、简明高效的视图运行机制,使视图文件的开发操作变得简单易行。 三、灵活的扩展模块(module)设计,能够非常容易地调用如:SMARTY、ADODB、CKEDITOR、TINYEDITOR、FPDF、PHPMAILER、PHPRPC等第三方开源程序。 四...
heron-mvcnpm install heron...默认是 /lib/controllers, 根是项目启动路径.@params: loadRoute(obj) 会优先加载route里的路由, 也会加载controller obj { route: route名称 router: require返回的router }@params: loa
使在同一位置播放来自多个平台的媒体变得简单。 阅读了解更多详情。 建筑学 该项目遵循,是使用和组合在一起的大部分小模块或功能的大集合。 除了一些“全局”或“神奇”的东西,比如本地化函数OLSKLocalized ,模块...
一、开发了框架的辅助开发工具(Tommy tools),使得利用本框架进行程序开发变得更加容易。 二、类似于SMARTY的模板引擎机制,使模板开发简单易行。 三、灵活的MODULE扩展设计,能够非常容易地调用如SMARTY、...
虽然目前的组件库还不算丰富健壮,但是基于这种开发模式,使组件的扩展变得非常的容易。 windframework拥有一个强健的内核,它实现了基于配置的Ioc控制反转技术。开发者只需要简单的配置,就可以实现类的依赖注入,...
Form数据库基础 PostgreSQLMVC 设计模式 Model-View-Controller风格化 Bootstrap Styling闪烁消息 Flash Message邮件发送 Sending EmailUserHub 项目开发流程用户模型 User Model路由概念 Route
controller文件夹为响应路由的业务逻辑代码 router文件夹为各模块路由 服务文件夹为数据访问业务代码 数据库 连接设置在service> db-config.js 数据库名测试 表名用户 仅有用户名和密码两个分区 测试连接 test.html