使用Express.js创建一个带有“search url”作为参数的路由

使用Express.js创建一个带有“search url”作为参数的路由

Express.js是node.js中最强大的框架。 Express.js 是一个路由和中间件框架,用于处理网页的不同路由,它在请求和响应周期之间工作。Express.js使用不同类型的中间件函数来完成客户端发送的不同请求,例如客户端可以发送get、put、post和delete请求,这些请求可以很容易地由这些中间件函数处理。请参阅本文了解Express.js框架的工作原理。 在本文中 我们将讨论什么是路由以及如何使用两种方法创建路由。

路由 :在网络中,路由意味着从计算机网络或服务器提供的大量路径中筛选出所需的路径。我们可以借助Express.js中间件创建自己的路由,将我们的路径定位到所需的位置。

工作路由: 所有来自客户端的传入请求与项目目录中的所有路由进行匹配。匹配成功后,特定的路由进行响应。

使用Express.js创建一个带有“search url”作为参数的路由

有两种方法可以为特定的URL创建路由。

  1. 不使用express-generator: 在这种方法中,我们只是使用express.js模块来实现搜索URL路由。Express.js可以处理同一路由上的多个不同请求。
  2. 使用express-generator: express-generator是生成为Node.js创建所有必需文件的最快方式。Express-generator生成默认路由以及默认配置的app.js文件。

下面是这两种方法的实现:

1. 不使用express-generator: 使用一个简单的express模块,来处理来自客户端的所有请求,并检查传入的请求。

模块安装:

npm install express

项目结构:

使用Express.js创建一个带有“search url”作为参数的路由

index.js

//Importing require module 
const express=require("express") 
const server_route=require("./search") 
const app=express() 
  
// Creating First route 
app.use("/",server_route); 
  
// Listening the server 
app.listen(3000,()=>{ 
  console.log("Server is Running on the port 3000")   
})

search.js

//Importing libraries 
var express = require('express'); 
var router = express.Router(); 
  
// Handling first request 
router.get('/search', function(req, res, next) { 
  res.send('Respond from server'); 
  res.end() 
}); 
// Handling second request of different route 
router.get("/search/login",(req,res,next)=>{ 
    res.send("This is the login page") 
    res.end() 
}) 
// Exporting router  
module.exports = router; 

使用下面的命令运行 index.js 文件:

node index.js

输出: 访问 http://localhost:3000/ 将会重定向至 http://localhost:3000/search/login

使用Express.js创建一个带有“search url”作为参数的路由

2使用express-generator: express-generator是生成制作Web应用所需的所有必要文件的最快方法。这种方法的优点是 Express-generator生成默认路由以及默认配置的app.js文件。

安装express-generator: :

npm install -g express-generator

使用Express.js创建一个带有“search url”作为参数的路由

基本的express-generator命令:

使用Express.js创建一个带有“search url”作为参数的路由

项目结构中的生成器文件: 在安装express-generator之后,我们需要在express-generator文件夹的routes文件夹中创建一个新的文件search.js。

使用Express.js创建一个带有“search url”作为参数的路由

app.js

//Default Imported libraries 
var createError = require('http-errors'); 
var express = require('express'); 
var path = require('path'); 
var cookieParser = require('cookie-parser'); 
var logger = require('morgan'); 
  
var indexRouter = require('./routes/index'); 
var usersRouter = require('./routes/users'); 
  
// creating instance of the search.js route 
var searchRouter=require("./routes/search") 
  
var app = express(); 
  
// view engine setup 
app.set('views', path.join(__dirname, 'views')); 
  
  
app.use(logger('dev')); 
app.use(express.json()); 
app.use(express.urlencoded({ extended: false })); 
app.use(cookieParser()); 
app.use(express.static(path.join(__dirname, 'public'))); 
  
app.use('/', indexRouter); 
app.use('/users', usersRouter); 
  
// Handling request for the searchRouter 
app.use('/',searchRouter) 
  
// catch 404 and forward to error handler 
app.use(function(req, res, next) { 
  next(createError(404)); 
}); 
  
// error handler 
app.use(function(err, req, res, next) { 
  // set locals, only providing error in development 
  res.locals.message = err.message; 
  res.locals.error = req.app.get('env') === 'development' ? err : {}; 
  
  // render the error page 
  res.status(err.status || 500); 
  res.render('error'); 
}); 
  
module.exports = app; 

使用以下命令运行 app.js 文件:

node app.js

search.js文件

var express = require('express'); 
var router = express.Router(); 
  
/* GET users listing. */
router.get('/search', function(req, res, next) { 
  res.send('Respond from server'); 
  res.end() 
}); 
router.get("/search/page",(req,res,next)=>{ 
    res.send("Respond to the search page") 
    res.end() 
}) 
  
module.exports = router; 

控制台输出:

使用Express.js创建一个带有“search url”作为参数的路由

处理响应:

使用Express.js创建一个带有“search url”作为参数的路由

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程