`

controller,使路由变得简介

阅读更多

路由是最能体现一个网站运作方式的文件,然而如果里面放入太多方法,就会变得臃肿,所以将方法放入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;

 

分享到:
评论

相关推荐

    mvc3 路由调试

    在开发过程中,尤其是在复杂的URL结构下,了解当前请求被哪个路由处理变得至关重要。路由调试可以帮助开发者快速定位问题,例如,确认URL是否正确映射到预期的控制器和动作,或者解决重定向和URL生成问题。 **4. ...

    qeephp中开启路由美化功能

    ### qeephp中开启路由美化功能 #### 一、简介 ...这不仅提升了用户体验,也使开发工作变得更加高效和简洁。希望本文能够帮助您更好地理解和掌握qeephp的路由美化功能,为您的项目带来更多的便利。

    zf2 路由与加载器

    总结一下,ZF2的路由系统允许开发者根据需求定制各种路由规则,将URL映射到应用程序的各个部分,而加载器则通过自动加载机制使得类的使用变得更加便捷。了解和掌握这两者是理解和使用ZF2的关键,对于提升PHP Web开发...

    22_VueRouter路由使用.pdf

    VueRouter是Vue.js的官方路由,它与Vue.js核心深度集成,让用Vue.js构建单页应用变得非常容易。Vue Router是基于路由和组件的,路由用于设定访问路径,将路径和组件映射起来。在VueRouter的单页面应用中,页面的...

    Angular ngRoute路由例子

    总结来说,AngularJS的ngRoute模块提供了强大的路由管理功能,使得在单页面应用中实现动态视图切换和数据绑定变得简单。通过配置路由规则、定义控制器以及在视图中插入`<ng-view>`,我们可以构建出具有多页面功能的...

    Route快速灵活的PHP路由能够快速轻松地构建RESTfulWeb应用程序

    这使得处理不同的资源操作变得简单,如创建、读取、更新和删除(CRUD)操作。 3. **参数匹配与解析**: 路由可以包含动态参数,这些参数可以从URL中捕获并传递给处理函数。例如,`/users/{id}`可以用来获取特定...

    HCNP-R&S-IERS部署企业级路由交换网络教材V2.0.pdf

    企业网络技术随着信息化的发展而变得愈发复杂,特别是企业业务的大集中趋势和网络规模的不断扩大,使得网络的可靠性、异构化和多厂商设备互联成为企业网络建设的重要考量点。业务连续性要求网络在发生故障后能够迅速...

    ci框架路由扩展

    然而,当项目变得复杂,控制器的数量增多时,为了保持代码组织清晰,我们可能会希望将控制器组织到多级目录下。描述中提到的"Router.php"文件正是为了解决这个问题,它可以让你的控制器结构更具有层次性,例如: ``...

    Libraries-Comm-Controller

    在当今的物联网(IoT)时代,设备间的通信变得至关重要。Libraries_Comm_Controller库是为实现高效、可靠的设备间通信而设计的,尤其在嵌入式系统和IoT应用中,它的作用尤为突出。本文将深入探讨该库的核心功能以及其...

    Laravel开发-authority-controller

    然而,当应用的权限需求变得复杂时,这些内置机制可能不够用,这就是"authority-controller"库的作用所在。 "authority-controller"库扩展了Laravel的原生权限管理功能,提供了更高级别的控制和灵活性。它允许...

    03---Controller-Service-Dao.zip

    Dao层的作用在于隔离应用程序与底层数据存储,使得更换数据库系统变得相对容易。 4. **分层架构的好处**: - **松耦合**:各层之间职责明确,降低层间依赖,便于修改和维护。 - **复用性**:Service层可以被多个...

    JBL Intonato Desktop Controller用户数据手册.pdf

    总的来说,JBL Intonato Desktop Controller是专业音频制作领域的一个强大工具,它将复杂的监听系统管理变得简单易行,确保了音频质量的精确性和一致性,对于提高制作效率和作品质量有着显著的帮助。通过深入理解和...

    Symfony2创建基于域名的路由相关示例

    无论是使用YAML、XML还是PHP代码,Symfony2的路由系统都能提供强大且灵活的路由配置选项,使得构建复杂的Web应用变得简单而高效。通过这些配置方法,我们可以针对不同的域名实施不同的路由规则,进而实现灵活的多...

    ASP.NET Core MVC 配置全局路由前缀

    在传统的做法中,我们可能需要在每个控制器或操作方法上手动添加特性路由(如 `[Route("/api/order")]`),但这在处理大量接口或需要版本控制时变得繁琐。ASP.NET Core MVC 提供了一种更优雅的解决方案,通过实现 `...

    Laravel路由中不固定数量的参数如何实现?

    总的来说,Laravel 的路由系统与 PHP 的可变数量参数列表相结合,使得处理不固定数量的 URL 参数变得简单而直观。这种方式增强了代码的灵活性,允许我们以更少的代码处理更复杂的请求模式。当你在 Laravel 中编写...

    yii2的restful api路由实例详解

    首先,我们会了解如何使用Yii2内置的`yii\rest\UrlRule`类来自动映射RESTful API的路由,这会让路由的定义变得非常简洁。然后,我们将探索如何通过自定义路由规则来满足更复杂的业务需求,并对规则进行逐项分析。 1...

    laravel实现前后台路由分离的方法

    但是,随着项目规模的扩大,这样的配置可能无法满足开发者对于路由细粒度控制的需求,因此更细致的路由分离变得十分必要。 值得一提的是,Laravel框架提供了一个非常有用的辅助函数route(),它能够自动生成路由的...

    在JavaScript中访问MVC路由URL

    它们通常通过jQuery插件的形式提供,使得在JavaScript中生成路由URL变得更简单。 5. **HTML5 History API**:在SPA(单页应用)中,可以结合History API和PushState来构建与MVC路由类似的URL结构,但这是客户端操作...

    PHP URL路由类实例

    因此,一种更高效、更清晰的路由机制变得尤为重要。 #### 三、PHP URL路由类设计思路 本文介绍的PHP URL路由类采用了一种较为直观的方式处理请求。其核心思想是通过解析客户端发送的URL路径,将其拆分为不同的组件...

Global site tag (gtag.js) - Google Analytics