分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

nodejs之路由

发布时间:2023-09-06 02:33责任编辑:顾先生关键词:jsnodejs

声明:在写nodejs代码的时候,很多模块可以封装保存起来,以后的项目都会用到。

1、路由模块

var url=require(‘url‘);//封装方法改变res ?绑定res.send()function changeRes(res){ ???res.send=function(data){ ???????res.writeHead(200,{"Content-Type":"text/html;charset=‘utf-8‘"}); ???????res.end(data); ???}}//暴露的模块var Server=function(){ ???var G=this; ??/*全局变量*/ ???//处理get和post请求 ???this._get={}; ???this._post={}; ???var app=function(req,res){ ???????changeRes(res); ???????//获取路由 ???????var pathname=url.parse(req.url).pathname; ???????if(!pathname.endsWith(‘/‘)){ ???????????pathname=pathname+‘/‘; ???????} ???????//获取请求的方式 get ?post ???????var method=req.method.toLowerCase(); ???????if(G[‘_‘+method][pathname]){ ???????????if(method==‘post‘){ /*执行post请求*/ ???????????????var postStr=‘‘; ???????????????req.on(‘data‘,function(chunk){ ???????????????????postStr+=chunk; ???????????????}) ???????????????req.on(‘end‘,function(err,chunk) { ???????????????????req.body=postStr; ?/*表示拿到post的值*/ ???????????????????G[‘_‘+method][pathname](req,res); /*执行方法*/ ???????????????}) ???????????}else{ /*执行get请求*/ ???????????????G[‘_‘+method][pathname](req,res); /*执行方法*/ ???????????} ???????}else{ ???????????res.end(‘no router‘); ???????} ???} ???app.get=function(string,callback){ ???????if(!string.endsWith(‘/‘)){ ???????????string=string+‘/‘; ???????} ???????if(!string.startsWith(‘/‘)){ ???????????string=‘/‘+string; ???????} ???????// ???/login/ ???????G._get[string]=callback; ???} ???app.post=function(string,callback){ ???????if(!string.endsWith(‘/‘)){ ???????????string=string+‘/‘; ???????} ???????if(!string.startsWith(‘/‘)){ ???????????string=‘/‘+string; ???????} ???????G._post[string]=callback; ???} ???return app;}module.exports=Server();
View Code

2、直接摘抄,然后创建一个文件运行下面的代码

var http = require(‘http‘);var app = require(‘./express-route‘);http.createServer(app).listen(‘8001‘);app.get(‘login‘,function (req,res) { ???console.log(‘login‘); ???res.end(‘login‘);})app.get(‘register‘,function (req,res) { ???console.log(‘register‘); ???res.end(‘register‘);})

nodejs之路由

原文地址:https://www.cnblogs.com/ywjfx/p/10399967.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved