首页 > 其他分享 >无涯教程-ExpressJS - 路由(Routing)

无涯教程-ExpressJS - 路由(Routing)

时间:2024-01-30 10:31:59浏览次数:26  
标签:res app express 无涯 js ExpressJS Routing things var

Web框架在不同的路径上提供HTML page,script, images 等资源,以下函数用于在Express应用程序中定义routes路由-

app.method

该方法可以应用于任何HTTP 请求方法–get,set,put,delete,处理程序是一个回调函数,当在相关routes上找到匹配的请求类型时执行。如,

var express=require('express');
var app=express();

app.get('/hello', function(req, res){
   res.send("Hello World!");
});

app.listen(3000);

如果无涯教程运行应用程序并转到 localhost:3000/hello ,则服务器在路由"/hello" 处接收到一个get请求,Express应用程序将执行回调函数,并发送" Hello World!" 作为响应。

Hello

也可以使用多种不同的方法。如,

var express=require('express');
var app=express();

app.get('/hello', function(req, res){
   res.send("Hello World!");
});

app.post('/hello', function(req, res){
   res.send("You just called the post method at '/hello'!\n");
});

app.listen(3000);

要测试此请求,请打开您的终端并使用cURL执行以下请求-

curl -X POST "http://localhost:3000/hello"
Curl request

Express提供了一种特殊的方法 all ,以使用相同的函数处理特定路径下所有类型的http方法,若要使用此方法,请尝试以下操作。

app.all('/test', function(req, res){
   res.send("HTTP method doesn't have any effect on this route!");
});

此方法通常用于定义中间件,将在中间件一章中进行讨论。

Routers 路由

定义上述routes非常繁琐。为了与routes与主 index.js 文件分开,无涯教程将使用 Express.Router 。创建一个名为 things.js 的新文件,然后在其中键入以下内容。

var express=require('express');
var router=express.Router();

router.get('/', function(req, res){
   res.send('GET route on things.');
});
router.post('/', function(req, res){
   res.send('POST route on things.');
});

//export this router to use in our index.js
module.exports=router;

现在要在 index.js 中使用此routes,请在 app.listen 函数调用之前键入以下内容。

var express=require('Express');
var app=express();

var things=require('./things.js');

//index.js 和 things.js 都应该在同一个目录中
app.use('/things', things);

app.listen(3000);

访问localhost:3000/things /,您将看到以下输出。

Router Things

route 在分离问题和将代码的相关部分保持在一起方面非常有帮助,它们有助于构建可维护的代码。

参考链接

https://www.learnfk.com/expressjs/expressjs-routing.html

标签:res,app,express,无涯,js,ExpressJS,Routing,things,var
From: https://blog.51cto.com/u_14033984/9480117

相关文章

  • 无涯教程-Django - Apache配置
    到目前为止,在无涯教程的示例中,已经使用了DjangodevWeb服务器,但是此服务器仅用于测试,不适合生产环境。一旦投入生产,您就需要一个真实的服务器,如Apache,Nginx等,在本章中讨论Apache。通过Apache为Django应用提供服务是通过使用mod_wsgi完成的。因此,第一件事是确保您已安装Apache和......
  • 无涯教程-Swift - 修饰符
    协议中的常量,变量和函数受到限制,并允许通过访问控制以全局和局部方式进行访问。Swift4语言提供了三种不同的访问级别。它们是公共,内部和私有访问权限。S.NoAccessLevels&Definition1Public使实体可以在其定义模块的任何源文件中进行处理,而在导入定义模块的另一个模块......
  • 无涯教程-Swift - Generics(泛型)
    Swift4语言提供"Generic"函数来编写灵活且可重用的函数和类型,泛型用于避免重复并提供抽象,Swift4标准库是使用泛型代码构建的。Swift4s的"Arrays"和"Dictionary"类型属于Generic集合。funcexchange(a:inoutInt,b:inoutInt){lettemp=aa=bb=temp}varn......
  • 无涯教程-Swift - 类型转换
    为了验证的类型,"TypeCasting"以Swift4语言开始发挥作用,它用于检查类型是属于特定的超类还是子类,或者是否在其自己的层次结构中定义。Swift4类型转换提供两个运算符"is"来检查值的类型和"as",并将类型值转换为其他类型,类型转换还检查类型是否遵循特定的协议一致性标准。类层......
  • 无涯教程-Swift - 引用计数
    内存管理函数及其用法通过自动引用计数(ARC)以Swift4语言处理。ARC用于初始化和取消初始化系统资源,从而在不再需要时释放类使用的内存空间。ARC跟踪有关我们的代码之间的关系的信息,以有效地管理内存资源。ARC函数每次通过init()创建新的类时,ARC每次都会分配一块内存来存储信......
  • 无涯教程-Swift - 解析构造
    在需要释放一个类实例之前,必须调用"deinitializer"来释放内存空间,关键字"deinit"用于取消分配系统资源占用的内存空间。释放内存空间当不再需要实例时,Swift4会自动释放其实例,以释放资源。Swift4通过自动引用计数(ARC)处理实例的内存管理,如自动引用计数中所述。通常,在实例......
  • 无涯教程-Swift - 继承
    通常,一个类可以从另一个类继承方法,属性和函数。类可以进一步分类为子类和父类。子类  - 当一个类从另一个类继承属性,方法和函数时,称为子类父类  - 包含从其自身继承其他类的属性,方法和函数的类称为超类Swift4类包含调用和访问方法,属性,函数和覆盖方法的父类,此外,......
  • 无涯教程-Swift - Subscripts(下标)
    Subscripts下标可以访问类,结构和枚举中的集合,序列和列表的元素成员。这些下标用于在索引的帮助下存储和检索值。在someArray[index]的帮助下访问数组元素,而在Dictionary中的后续成员元素可以作为someDicitonary[key]访问。下标声明语法 "subscript"关键字用于定义,用户可以......
  • 无涯教程-Swift - Method(方法)
    在Swift4语言中,与特定类型关联的函数称为"方法"。在ObjectiveC中,类用于定义方法,而Swift4语言为用户提供了具有类,结构和枚举方法的灵活性。实例方法在Swift4语言中,可通过方法访问Class,Structures和Enumeration。方法可以写在{}花括号内,它具有对类型的方法和属性的隐式访问,......
  • 无涯教程-Swift - Properties(属性)
    Swift4语言为类,枚举或结构提供属性以关联值。存储属性Swift4引入了存储属性的概念来存储常量和变量的,常量的存储属性由'let'关键字定义,变量的存储属性由'var'关键字定义。在定义期间,存储的属性提供"默认值"初始化期间,用户可以初始化和修改初始值structNumber{var......