热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

节点js中的路由

节点js中的路由原文:https://www.geeksfo

节点 js 中的路由

原文:https://www.geeksforgeeks.org/routing-in-node-js/

什么是路由?
路由定义了应用程序端点处理客户端请求的方式。

在 Node.js 中实现路由:在 node.js 中实现路由有两种方式,列举如下:


  • 通过使用框架

  • 不使用框架

使用框架: Node 有很多框架可以帮助你启动和运行你的服务器。最受欢迎的是 Express.js.
节点内带快递的路由: Express.js 有一个对应 HTTP 的“app”对象。我们使用这个“app”对象的方法来定义路由。此应用程序对象指定了一个回调函数,当收到请求时会调用该函数。对于不同类型的请求,我们在 app 对象中有不同的方法。


  • 对于 GET 请求,使用 app.get()方法:

    ```js
    var express = require('express')
    var app = express()

    app.get('/', function(req, res) {
    res.send('Hello Sir')
    })

    ```


  • 对于开机自检请求,使用 app.post()方法:

    ```js
    var express = require('express')
    var app = express()

    app.post('/', function(req, res) {
    res.send('Hello Sir')
    })

    ```


  • 用于处理所有 HTTP 方法(即 GET、POST、PUT、DELETE 等)。)使用 app.all()方法:

    ```js
    var express = require('express')
    var app = express()

    app.all('/', function(req, res) {
    console.log('Hello Sir')
    next() // Pass the control to the next handler
    })

    ```


next()用于将控件交给下一个回调。有时我们使用 app.use()来指定中间件函数作为回调。

因此,要使用 Express.js 执行路由,您只需加载 Express,然后根据需求使用 app 对象来处理回调。

无框架路由:使用框架有利于节省时间,但有时这可能不适合这种情况。因此,开发人员可能需要构建自己的服务器,而不需要其他依赖关系。
现在使用创建任意名称的文件。js 扩展,并按照以下步骤从头开始执行路由:


  • 这里我们将使用 node.js 的内置模块,即 http。所以,首先加载 http:

    js
    var http = require('http');


  • 现在通过添加以下几行代码来创建服务器:

    js
    http.createServer(function (req, res) {
    res.write('Hello World!'); // Write a response
    res.end(); // End the response
    }).listen(3000, function() {
    console.log("server start at port 3000"); // The server object listens on port 3000
    });


  • 现在在上面的函数中添加以下代码行来执行路由:

    ```js
    var url = req.url;
    if(url ==='/about') {
    res.write(' Welcome to about us page');
    res.end();
    } else if(url ==='/contact') {
    res.write(' Welcome to contact us page');
    res.end();
    } else {
    res.write('Hello World!');
    res.end();
    }

    ```


例:结合以上代码的路由完整代码。

var http = require('http');
// Create a server object
http.createServer(function (req, res) {
    // http header
    res.writeHead(200, {'Content-Type': 'text/html'}); 
    var url = req.url;
    if(url ==='/about') {
        res.write(' Welcome to about us page'); 
        res.end(); 
    }
    else if(url ==='/contact') {
        res.write(' Welcome to contact us page'); 
        res.end(); 
    }
    else {
        res.write('Hello World!'); 
        res.end(); 
    }
}).listen(3000, function() {
    // The server object listens on port 3000
    console.log("server start at port 3000");
});

输出:


推荐阅读
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • 使用nodejs爬取b站番剧数据,计算最佳追番推荐
    本文介绍了如何使用nodejs爬取b站番剧数据,并通过计算得出最佳追番推荐。通过调用相关接口获取番剧数据和评分数据,以及使用相应的算法进行计算。该方法可以帮助用户找到适合自己的番剧进行观看。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文详细介绍了PHP中与URL处理相关的三个函数:http_build_query、parse_str和查询字符串的解析。通过示例和语法说明,讲解了这些函数的使用方法和作用,帮助读者更好地理解和应用。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
author-avatar
mobiledu2502913277
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有