nodejs的使用 引入http模块

js和nodejs的区别

js: 运行在浏览器中的脚本语言
缺点:
不能直接操作电脑上的文件

nodejs: 运行在服务器端的js
nodejs 的fs文件系统。 可以对电脑上的文件进行操作(增删改查)

常用的命令行操作:

-cd 文件夹名 进入文件夹 (注意这种只能本命令行进入下一级文件夹)
例a文件夹有b cd b 可以进入,但和a同级c cd c 不能进入

  • cd ..返回上一级

  • mkdir 文件夹名 新建文件夹

    命令的历史记录:
    通过 上下箭头 可以查看历史记录

安装nodemon 插件
实现修改后自动更新,在命令行安装
nodejs 的热更新插件
全局安装: -g
1. npm i nodemon -g
安装成功后,使用命令
之前: node 文件名 执行文件
现在: nodemon 文件名 执行文件

关闭服务:
ctrl + c 终止服务

域名和服务器概念

  • 服务器是没有办法识别域名的, 服务器只能识别IP地址

    域名:https://xxx.xxx.com
    也叫做 网址
    例如:百度的网址 https://www.baidu.com/
    https://baike.baidu.com/

    域名解析:
    .com 是顶级域名
    baidu 一级域名
    baike 二级域名

  • 域名分为:

    顶级域名: .com .cn .edu .org
    一级域名
    二级域名
    三级、四级域名等

  • 服务器可以识别IP地址

    IP地址: x.x.x.x
    例如:127.0.0.1:3000
    IPv4 IPv6

    域名和IP地址是一一对应的 ; 通过DNS 域名解析, 分布式数据库

- 访问本地服务:
        localhost:3000 域名访问
        127.0.0.1:3000  IP地址访问    127.0.0.1也叫做回环地址

http模块的搭建

通过http模块提供的方法可以创建服务器

首先搭建一个简单的服务器,模块名是js结尾 模块名中不能有中文
在这里插入图片描述

//1 引入http模块 (nodejs内置模块, 可以直接引入)
const http = require('http');
//2. 创建服务器 http.createServer() 方法
http.createServer((request,response)=>{
    
    
  response.write('hello world');
  //  3.  response.end() 方法 返回数据 终止响应 
  response.end();
 //  4. 服务要想正常开启,必须要有一个专用的端口号(通道), 默认nodejs的服务端口号是 3000
}).listen(3000,()=>{
    
    
    console.log('server is running at 127.0.0.1');//翻译服务器运行在127.0.0.1
     //  5. 回调函数 为了提示服务器正常开启  给自己看
})

然后执行命令 在文件的目录下打开nodejs的命令行
在这里插入图片描述
输入http://localhost:3000 或者 http://127.0.0.1:3000 都能够输出
在这里插入图片描述

http模块的详解

创建服务器方法

http.createServer((request, response))
创建服务器方法中两个参数的意义
request对象:客户端向服务器请求(传递的所有的数据等信息) 简写 req
response对象: 服务器向客户端进行响应(服务器返回的数据等信息) 简写 res

解决中文乱码问题 设置响应头(设置编码格式和文件的MIME类型)

response.writeHead(200, {‘Content-type’:“text/plain;charset=utf-8”})
// 200 是http状态码 (代码成功)

顺序是

  1. 设置响应头
  2. 返回多条数据 使用 res.write()方法
  3. response.end() 方法 返回数据 终止响应

常见的MIME类型
  超文本标记语言文本 .html,.html text/html
  普通文本 .txt text/plain
  GIF图形 .gif image/gif
  JPEG图形 .jpeg,.jpg image/jpeg
  au声音文件 .au audio/basic

//  通过http模块提供的方法可以创建服务器
//  1 引入http模块 (nodejs内置模块, 可以直接引入)
const http = require('http');
//  2. 创建服务器 http.createServer() 方法
//  request对象:客户端向服务器请求(传递的所有的数据等信息)  简写  req
//  response对象: 服务器向客户端进行响应(服务器返回的数据等信息)  简写 res
//  第一种写法
const port = 3000;
http.createServer((request, response) => {
    
    
    //  3.  response.end() 方法 返回数据 终止响应 
    //  数据作为end()方法的参数 进行返回客户端 end() 只能执行一次多次没有效果
    // response.end('hello world')

    //  解决中文乱码问题 设置响应头(设置编码格式和文件的MIME类型)
    //  200 是http状态码 (代码成功)  
    //  {
    
    'Content-type':"text/plain;charset=utf-8"} 响应头
    //  text/plain (默认是纯文本) 文件的MIME类型    text/html   text/css  text/image 

    //  返回多条数据 使用 res.write()方法 
    response.write('hello world')
    response.write('nodejs')
    response.write('年后')
    response.write('<h1>这是h1标签</h1>')

    response.end();

    //  4. 服务要想正常开启,必须要有一个专用的端口号(通道), 默认nodejs的服务端口号是 3000
}).listen(port, () => {
    
    
    //  5. 回调函数 为了提示服务器正常开启
    console.log('server is running at 127.0.0.1');    
})

 第二种写法
因为创建服务器是一个对象,所以我们可以起一个变量名
 const server = http.createServer((request, response) => {
    
    
    //  3.  response.end() 方法 返回数据 终止响应 
   response.end('hello world')
 })
 server.listen(3000, ()=>{
    
    
    console.log('server running ....');    
 })

猜你喜欢

转载自blog.csdn.net/z18237613052/article/details/114919170