路由是最能体现一个网站运作方式的文件,然而如果里面放入太多方法,就会变得臃肿,所以将方法放入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;
相关推荐
在开发过程中,尤其是在复杂的URL结构下,了解当前请求被哪个路由处理变得至关重要。路由调试可以帮助开发者快速定位问题,例如,确认URL是否正确映射到预期的控制器和动作,或者解决重定向和URL生成问题。 **4. ...
### qeephp中开启路由美化功能 #### 一、简介 ...这不仅提升了用户体验,也使开发工作变得更加高效和简洁。希望本文能够帮助您更好地理解和掌握qeephp的路由美化功能,为您的项目带来更多的便利。
总结一下,ZF2的路由系统允许开发者根据需求定制各种路由规则,将URL映射到应用程序的各个部分,而加载器则通过自动加载机制使得类的使用变得更加便捷。了解和掌握这两者是理解和使用ZF2的关键,对于提升PHP Web开发...
VueRouter是Vue.js的官方路由,它与Vue.js核心深度集成,让用Vue.js构建单页应用变得非常容易。Vue Router是基于路由和组件的,路由用于设定访问路径,将路径和组件映射起来。在VueRouter的单页面应用中,页面的...
总结来说,AngularJS的ngRoute模块提供了强大的路由管理功能,使得在单页面应用中实现动态视图切换和数据绑定变得简单。通过配置路由规则、定义控制器以及在视图中插入`<ng-view>`,我们可以构建出具有多页面功能的...
这使得处理不同的资源操作变得简单,如创建、读取、更新和删除(CRUD)操作。 3. **参数匹配与解析**: 路由可以包含动态参数,这些参数可以从URL中捕获并传递给处理函数。例如,`/users/{id}`可以用来获取特定...
企业网络技术随着信息化的发展而变得愈发复杂,特别是企业业务的大集中趋势和网络规模的不断扩大,使得网络的可靠性、异构化和多厂商设备互联成为企业网络建设的重要考量点。业务连续性要求网络在发生故障后能够迅速...
然而,当项目变得复杂,控制器的数量增多时,为了保持代码组织清晰,我们可能会希望将控制器组织到多级目录下。描述中提到的"Router.php"文件正是为了解决这个问题,它可以让你的控制器结构更具有层次性,例如: ``...
在当今的物联网(IoT)时代,设备间的通信变得至关重要。Libraries_Comm_Controller库是为实现高效、可靠的设备间通信而设计的,尤其在嵌入式系统和IoT应用中,它的作用尤为突出。本文将深入探讨该库的核心功能以及其...
然而,当应用的权限需求变得复杂时,这些内置机制可能不够用,这就是"authority-controller"库的作用所在。 "authority-controller"库扩展了Laravel的原生权限管理功能,提供了更高级别的控制和灵活性。它允许...
Dao层的作用在于隔离应用程序与底层数据存储,使得更换数据库系统变得相对容易。 4. **分层架构的好处**: - **松耦合**:各层之间职责明确,降低层间依赖,便于修改和维护。 - **复用性**:Service层可以被多个...
总的来说,JBL Intonato Desktop Controller是专业音频制作领域的一个强大工具,它将复杂的监听系统管理变得简单易行,确保了音频质量的精确性和一致性,对于提高制作效率和作品质量有着显著的帮助。通过深入理解和...
无论是使用YAML、XML还是PHP代码,Symfony2的路由系统都能提供强大且灵活的路由配置选项,使得构建复杂的Web应用变得简单而高效。通过这些配置方法,我们可以针对不同的域名实施不同的路由规则,进而实现灵活的多...
在传统的做法中,我们可能需要在每个控制器或操作方法上手动添加特性路由(如 `[Route("/api/order")]`),但这在处理大量接口或需要版本控制时变得繁琐。ASP.NET Core MVC 提供了一种更优雅的解决方案,通过实现 `...
总的来说,Laravel 的路由系统与 PHP 的可变数量参数列表相结合,使得处理不固定数量的 URL 参数变得简单而直观。这种方式增强了代码的灵活性,允许我们以更少的代码处理更复杂的请求模式。当你在 Laravel 中编写...
首先,我们会了解如何使用Yii2内置的`yii\rest\UrlRule`类来自动映射RESTful API的路由,这会让路由的定义变得非常简洁。然后,我们将探索如何通过自定义路由规则来满足更复杂的业务需求,并对规则进行逐项分析。 1...
但是,随着项目规模的扩大,这样的配置可能无法满足开发者对于路由细粒度控制的需求,因此更细致的路由分离变得十分必要。 值得一提的是,Laravel框架提供了一个非常有用的辅助函数route(),它能够自动生成路由的...
它们通常通过jQuery插件的形式提供,使得在JavaScript中生成路由URL变得更简单。 5. **HTML5 History API**:在SPA(单页应用)中,可以结合History API和PushState来构建与MVC路由类似的URL结构,但这是客户端操作...
因此,一种更高效、更清晰的路由机制变得尤为重要。 #### 三、PHP URL路由类设计思路 本文介绍的PHP URL路由类采用了一种较为直观的方式处理请求。其核心思想是通过解析客户端发送的URL路径,将其拆分为不同的组件...