node.js之HTTP模块

安装方式

1.我们学任何一门语言如果不会怎么办当然是去他的官网下面是官网地址https://nodejs.org

2.***淘宝镜像https://npm.taobao.org/mirrors/node***这里面有这个node的js安装包

3.Windows安装https://nodejs.org/zh-cn/download/

在这里插入图片描述

安装完毕后 打开cmd

在这里插入图片描述

  1. 执行node -v就会显示版本这样则安装成功

在这里插入图片描述

下面我们了解一下Nodejs是什么我们看一下官方说法

作为异步事件驱动的JavaScript运行时,Node旨在构建可伸缩的网络应用程序。 在下面的“hello world”示例中,可以同时处理许多连接。 在每次连接时都会触发回调,但是如果没有工作要做,Node将会休眠。

NodeJs是否是单线程

不是,主线程Javascript线程是单线程,libuv提供线程池,NodeJs不仅仅是一个Javascript引擎,而是一套运行时,不能将Javascript线程孤立出来。

NodeJs优缺点以及适合的场景

由于主线程Javascript线程是单线程,所以主线程不能做CPU密集操作(比如什么加解密之类的,这种操作只能有Javascript线程运行,会阻塞事件循环),所以NodeJs适合I/O密集场景,比如常见的(TCP/HTTP服务器)
对于前端开发者来说,几乎没有语言门槛
跨平台,NodeJs在主流操作系统都有对应的二进制程序
标准库强大,第三方库也很多,降低了造轮子成本
易于部署,服务器安装一个NodeJs程序配合NPM包管理器即可运行,不用像PHP那样还要安装扩展,配置前端HTTP服务器

步骤

第一步导入http模块

const http = require("http");

第二部创建http服务

const server = http.createServer((request, response) => {
   
})

第三部开启服务器(开启监听)

server.listen("4399",() => {
    console.log("success");
})

下面来实操一下

1.创建index.js
2.编写代码

const http = require('http');

const server = http.createServer((req, res) => {
    console.log(req.method, req.url)
    //req.method 本次请求的请求方法,有GET/POST/PUT
    //req.url 本次请求的路径(不包含域名)
    res.end("你好")
    //res.end 输出数据并结束本次响应
})

server.listen(8080, () => console.log('listen on 8080'))

代码说明
1.require 用来加载模块,本例中加载了NodeJs自带的http模块以使用其中的功能
2.http.createServer函数创建了一个 HTTP服务器,并配置了请求回调函数
3.server.listen是监听系统端口,第二个参数是监听成功的回调函数

执行方式
1.打开终端后执行node index.js
2.浏览器访问http://127.0.0.1:8080/ 会输出我走过最远的路便是你的套路
3.如果乱码怎么办
在这里插入图片描述4.乱码解决 方法 再createServer函数内部添加response.setHeader(“content-type”, “text/html;charset=utf-8”)就好了
在这里插入图片描述

请求路由

const http = require('http');

const server = http.createServer((req, res) => {
    if (req.url === '/') {
        res.end('index');
        return;
    }
    if (req.url === '/user') {
        res.end('user');
        return;
    }
})

server.listen(8080, () => console.log('listen on 8080'));

解析

  1. 执行node index.js
    2 .浏览器访问http://127.0.0.1:8080/会输出index
    3 .浏览器访问 http://127.0.0.1:8080/user 会输出user
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值