node服务器增加路由,轻松创建nodejs服务器(4):路由

服务器需要根据不同的URL或请求来执行不一样的操作,我们可以通过路由来实现这个步骤。

第一步我们需要先解析出请求URL的路径,我们引入url模块。

我们来给onRequest()函数加上一些逻辑,用来找出浏览器请求的URL路径:var http = require("http");

var url = require("url");

function start() {

function onRequest(request, response) {

var pathname = url.parse(request.url).pathname;

console.log("Request for " + pathname + " received.");

response.writeHead(200, {"Content-Type": "text/plain"});

response.write("Hello World");

response.end();

}

http.createServer(onRequest).listen(8888);

console.log("Server has started.");

}

exports.start = start;好了,pathname就是请求的路径,我们可以用它来区别不同请求了,这样一来我们就可以对来自/start和/upload的请求使用不同的代码来处理。

接着我们来编写路由,建立一个名为router.js的文件,代码如下:function route(pathname) {

console.log("About to route a request for " + pathname);

}

exports.route = route;

这段代码什么都没干,我们先把路由和服务器整合起来。

我们接着扩展服务器的start()函数,在start()中运行路由函数,并将pathname作为参数传给它。var http = require("http");

var url = require("url");

function start(route) {

function onRequest(request, response) {

var pathname = url.parse(request.url).pathname;

console.log("Request for " + pathname + " received.");

route(pathname);

response.writeHead(200, {"Content-Type": "text/plain"});

response.write("Hello World");

response.end();

}

http.createServer(onRequest).listen(8888);

console.log("Server has started.");

}

exports.start = start;

同时,我们会相应扩展index.js,使得路由函数可以被注入到服务器中:var server = require("./server");

var router = require("./router");

server.start(router.route);

运行index.js,随便访问个路径,比如/upload,就会发现控制台输出,About to route a request for /upload.

这就意味着我们的HTTP服务器和请求路由模块已经可以相互交流了。

以上就是本章的全部内容,更多相关教程请访问Node.js视频教程!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Node.js可以用来搭建服务器,以下是一些步骤和代码示例: 1. 首先,你需要安装Node.js和Express框架。可以使用npm命令来安装它们。 2. 创建一个service.js文件,并在其中导入Express模块和创建一个Express应用程序的实例。 3. 使用app.listen方法来配置服务器的端口号,并启动服务器。 4. 可以使用app.get方法来定义GET请求的路由和处理函数。例如,可以创建一个'/api/list'的路由,当收到GET请求时,返回一个包含数据的JSON对象。 5. 可以使用app.post方法来定义POST请求的路由和处理函数。例如,可以创建一个'/api/setList'的路由,当收到POST请求时,将请求体中的数据存储起来,并返回一个包含存储数据的JSON对象。 6. 可以使用app.use方法来配置中间件。例如,可以使用express.static中间件来将静态文件部署到服务器上。 7. 最后,通过运行node service.js命令来启动服务器。 下面是一个示例代码: ```javascript const express = require('express'); const app = express(); app.use(express.static('img')); app.use(express.urlencoded({ extended: false })); app.get('/api/list', (req, res) => { res.send({ code: 200, data: \[{ name: 1 }, { name: 2 }, { name: 3 }\] }); }); app.post('/api/setList', (req, res) => { const newList = req.body; console.log(newList); res.send({ newList }); }); app.listen(9588, () => { console.log('服务器启动成功'); }); ``` 通过以上步骤和代码示例,你可以使用Node.js搭建一个简单的服务器,并处理GET和POST请求。 #### 引用[.reference_title] - *1* *2* [nodejs如何搭建服务器](https://blog.csdn.net/weixin_41472455/article/details/110274100)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [如何通过nodejs快速搭建一个服务器](https://blog.csdn.net/ct5211314/article/details/128282738)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值