Node.js搭建WEB服务器

Node.js搭建WEB服务器

    • [1. 安装Node和nodemon插件](#1. 安装Node和nodemon插件)
    • [2. 引入http模块](#2. 引入http模块)
    • [3. 创建服务监听端口](#3. 创建服务监听端口)
    • [4. 解析接口地址](#4. 解析接口地址)
    • [5. 解析get参数](#5. 解析get参数)
    • [6. 解析post参数](#6. 解析post参数)

1. 安装Node和nodemon插件

powershell 复制代码
#全局安装nodemon插件
npm i nodemon -g

2. 引入http模块

powershell 复制代码
cosnt http = require('http')

3. 创建服务监听端口

powershell 复制代码
const server = http.createServer((req,res) => {
    if(req.method==='GET'){
        res.setHeader('Content-Type','text/plain;charset=utf-8')
        res.end('get请求');
    }else if(req.method==='POST'){
        res.setHeader('Content-Type','text/plain;charset=utf-8')
        res.end('post请求');
    }else{
        res.setHeader('Content-Type','text/plain;charset=utf-8')
        res.end('其他请求');
    }
})

server.listen(3000,()=>{
    console.log('服务器启动成功')
})

4. 解析接口地址

powershell 复制代码
#引入url
const url = require('url')

const server = http.createServer((req,res) => {
	
	cosnt {pathname} = url.parse(res.url)
    if(req.method==='GET' && pathname === '/getInfo'){
        res.setHeader('Content-Type','text/plain;charset=utf-8')
        res.end('get请求');
    }else if(req.method==='POST'){
        res.setHeader('Content-Type','text/plain;charset=utf-8')
        res.end('post请求');
    }else{
        res.setHeader('Content-Type','text/plain;charset=utf-8')
        res.end('其他请求');
    }
})

5. 解析get参数

使用url解构出query参数,再使用querystring格式化参数

powershell 复制代码
const qs = require('querystring')

const server = http.createServer((req,res) => {
	
	cosnt {pathname,query} = url.parse(res.url)
    if(req.method==='GET' && pathname === '/getInfo'){
        console.log(qs.parse(query))
        res.setHeader('Content-Type','text/plain;charset=utf-8')
        res.end('get请求');
    }else if(req.method==='POST'){
        res.setHeader('Content-Type','text/plain;charset=utf-8')
        res.end('post请求');
    }else{
        res.setHeader('Content-Type','text/plain;charset=utf-8')
        res.end('其他请求');
    }
})

6. 解析post参数

powershell 复制代码
const server = http.createServer((req,res) => {
	
	cosnt {pathname,query} = url.parse(res.url)
    if(req.method==='GET' && pathname === '/getInfo'){
        console.log(qs.parse(query))
        res.setHeader('Content-Type','text/plain;charset=utf-8')
        res.end('get请求');
    }else if(req.method==='POST'){
    	//接受参数
    	let data = ''
    	req.on('data',temp => {
    	data += temp
    	})
		//接受参数完毕解析
		req.on('end',()=>{
		console.log(qs.data)
		res.setHeader('Content-Type','text/plain;charset=utf-8')
        res.end('post请求');
		})
        
    }else{
        res.setHeader('Content-Type','text/plain;charset=utf-8')
        res.end('其他请求');
    }
})
相关推荐
c***87199 分钟前
Node.js使用教程
node.js·编辑器·vim
e***877011 分钟前
Node.js 与 Docker 深度整合:轻松部署与管理 Node.js 应用
docker·容器·node.js
z***026036 分钟前
如何升级node.js版本
node.js
ganshenml36 分钟前
【Web】证书(SSL/TLS)与域名之间的关系:完整、通俗、可落地的讲解
前端·网络协议·ssl
..空空的人38 分钟前
C++基于websocket的多用户网页五子棋 ---- 整合封装服务器模块设计实现
运维·服务器
q***448142 分钟前
从零开始在Windows系统上搭建一个node.js后端服务项目
windows·node.js
愚戏师1 小时前
Python3 多线程
linux·运维·服务器·python
这是个栗子1 小时前
npm报错 : 无法加载文件 npm.ps1,因为在此系统上禁止运行脚本
前端·npm·node.js
爱学习的程序媛2 小时前
《深入浅出Node.js》核心知识点梳理
javascript·node.js
q***71012 小时前
从零到上线:Node.js 项目的完整部署流程(包含 Docker 和 CICD)
docker·容器·node.js