Node.js

本文详细介绍了Node.js的基础概念、下载与安装,以及其在服务器应用、工具开发中的作用。深入探讨了Node.js的命令行工具、Buffer操作、fs模块(文件系统)的使用,包括同步和异步API、HTTP协议和请求响应报文解析。此外,还涉及了文件重命名、删除、读取和写入的实践,以及处理错误和设置MIME类型等内容。
摘要由CSDN通过智能技术生成

前端核心技术体系

Node.js定义

Nodejs的作用

1.开发服务器应用

2.开发工具类应用

3.开发桌面端工具

Nodejs的下载与安装

1.nodejs.org

download

选择LTS版本 

2.CNPM Binaries Mirror (npmmirror.com)icon-default.png?t=N7T8https://registry.npmmirror.com/binary.html?path=node/

node的各个版本,是淘宝的径向

3.检验是否下载完成

打开命令行窗口

输入

node -v

注意空格

Nodejs入门

命令行工具

命令的结构

常用命令

d: 

切换盘

dir

查看盘中文件夹

cd 文件夹名

切换工作目录

.  当前目录

..  上一级目录

dir  /s

展示该盘符下所有文件夹  包括子级文件夹

nodejs注意点

global顶级对象

Buffer

buffer创建

buffer就是一段字节空间           开辟的是固定计算机内存

会用于处理二进制数据

alloc(n)创建一个n字节的Buffer 开辟多少个字节的空间会将buffer的原始数据清零后进行输入,

allocUnsafe(n)所创建的Buffer可能会包含旧的内存数据            这种方式创建Buffer更快

from会将传入的字符串或数组按照Unicode码表(完全兼容ASCLL码表)中的数字再转化为二进制存入Buffer

Buffer操作

与注意事项

计算机程序运行过程

进程  进行中的程序            任务管理器中所显示正在运行的程序

线程

线程属于进程

进程包含线程

fs模块(fsapi)

file  system

1.导入fs模块   

2.写入文件     

fs工作的两种模式:同步与异步

fs异步API

fs.writeFile

写入文件执行回调函数同时进行下一步的js代码              效率较高

fs.writeFileSync同步API              等文件写入后才会进行下一步js代码    顺序性较强

fs追加  

appendFile

appendFileSync

追加也可以通过

writeFile的第三个参数对象实现追加文本

fs.writeFileSync('./text.txt','\r\n拉西呀懦夫',{flag:'a'});

writeFile   与  appendFile   的前两个参数必写,是  文本地址和写入内容

{‘a’,‘b’,[{配置对象}],[function(){}]}

function(){}   通常为err=>{}      此时如果执行失败err返回值是一个错误对象,,执行成功是null

 配置对象写为flag:'a'

也可以实现追加写的效果

fs流式写入

文件写入应用场景

fs文件读取

callback函数有两个形参

读取文件应用场景

流式读取

fs练习  实现文件复制

方式一 :通过readFile实现读取文件

方式二 :流式操作

第二种方法相对于较大空间的文件运行时占用内存更少

fs文件重命名与移动

fs文件删除

fs文件夹操作

readdir(path,(err,date)=>{})

date返回的是文件夹内的文件名称数组 

fs查看资源状态

fs路径

fs相对路径的bug

__dirname

批量重命名

对文件夹内文件首位数字进行重命名

        

path模块

resolve  解决绝对路径拼接问题

HTTP协议

HTTP报文

就是服务器与浏览器之间相互传送的文件

浏览器通过请求报文向服务器发起请求

fiddler

请求报文基本组成

url

HTTP响应报文

IP

ip本身就是数字标识

用来标志网络设备实现设备间通信

ip分类

局域网ip可以进行复用

端口

http模块

创建HTTP服务端

1. 导入模块2.创建服务对象

createServer内部函数有两个形参       一个     request     请求      请求报文的封装对象

                                                                        response  响应        响应报文的封装

 内部回调函数

3.

HTTP服务注意事项

浏览器查看http报文

如何查看请求体

点击提交会向端口发送post请求

并把信息放在请求体当中   传递给服务器

在网络 处点击文档后

点击负载   内可以查看请求体

也可以在载荷处快速查看url当中查询字符串内容

如何查看响应结果

响应头在f12 文件  处   标头  响应标头列出的即为响应头

点击查看源代码  

第一行 是响应行

下面是响应头

f12 文件  处   响应  为响应体原始内容

提取http请求报文

敲下回车后,请求报文就从浏览器端发送到端口

服务对象的回调函数处理请求报文

若要获取请求报文里面的内容  则应将  获取代码放在回调函数里面

提取请求体

提取报文的请求体

获取url路径和查询字符串

导入http模块

1.导入url模块

 创建服务对象

url.parse(url的字符串,【】)

第二个参数如果是true

呢么query属性将会设置为对象

提取url路径和查询字符串的另外一种方式

获取url路径

url.pathname

获取查询字符串

url.searchParams.get('keyword');

 

http请求练习

注意:结构赋值的参数命名不可以有大写字母

设置http响应报文

response.statusCode =     ;

设置响应行上的响应状态码

仅且只能有一个end方法执行     必须有一个

HTTP响应练习

练习优化

通过fs读取html文件

网页资源加载基本过程

响应练习拓展

实现网页引入外部资源

静态资源与动态资源

搭建静态资源服务

静态资源目录与网页根目录

网页中的URL-绝对路径     相对路径

./ 当前层级

相对路径不可靠,开发中不常用

设置MIME类型

解决乱码问题

也可以在html的meta标签内写    charset

但响应头的优先级更高

一般的文件只有页面设置字符

完善错误处理

请求方法的错误

get  post  使用场景

  • 15
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值