目标:
◆能够知道什么是Node.js
◆ 能够知道Node.js可以做什么
◆能够说出Node.js这的javascript的组成部分
◆ 能够使用fs模块读写操作系统
◆能够使用path模块处理路径
◆能够使用http模块写一个基本的web服务器
目录:
◆初始Node.js
◆fs文件系统模块
◆path路径模块
◆http模块
一、初识Node.js(官网了解)
一、基础命令:
node -v //查看版本号
node 要执行的js文件路径 //在nodejs环境中执行JavaScript代码
终端常用的快捷键:
① ↑键
② tab键
③esc键
④输入cls命令
二、fs模块
fs模块是Node.js官方提供的、
用来操作文件的模块。它提供了一系列的属性和方法,用来满足用户对文件的操作需求
例如: fs.readFile()方法,fs.writeFile()方法
导入: const fs = require('fs') //node内置的
①读取指定文件中的内容
1. fs.readFile()方法
fs.readFile(path[ , options],callback)
2.判断文件是否读取成功
可以判断err对象是否为null,从而知晓文件读取的结果
②向指定文件中写入内容
1. fs.writeFile()的语法格式
fs.writeFile(file, data[ , options], callback) //参数三默认是以 utf-8的格式
2.判断文件是否写入成功
可以判断err对象是否为null,从而知晓文件写入的结果
3.fs模块-路径动态拼接的问题
解决:给完整路径,结合__dirname
注意:__dirname表示当前文件所处的目录
三、path路径模块
path模块是Node.js提供的、用来处理路径的模块。它提供了一系列的方法和属性,用来满足用户对路径的处理需求
例如:path.join()方法 ,path.basename()方法
导入: const fs = require('path') //node内置的
①path.join()进行路径拼接
②path.basename()获取路径中的文件名
③获取文件中的文件扩展名
四、http模块
①什么是http模块
②进一步理解http模块的作用
③服务器相关的概念
1. IP地址
2.域名和域名服务器
3.端口号
④创建最基本的web服务器
1.创建web服务器的基本步骤
①先导入http模块
②创建web服务器实例
③为服务器实例绑定request事件,监听客户端请求
④启动服务器
2.req请求对象
req是请求对象,它包含了客户端相关的数据和属性,例如:req.url , req.method
3.res响应对象
res.end()方法,向客户端响应一些内容
4.解决中文乱码问题
设置响应头Content-type的值
5、根据不同的url响应不同的html内容
核心实现步骤
①获取请求的url地址
②设置默认的响应内容为404 Not found
③判断用户的请求路径是关于哪个页面的
④设置 Content-Type响应头,防止中文乱码
⑤使用res.end()把内容响应给客户端
动态响应内容
五、模块化
①模块化的基本概念
1.1什么是模块化
编程领域的模块化,就是遵守固定的规则,把一个大文件拆成独立并互相依赖的多个小模块
1.2模块化规范
模块化规范就是对代码进行模块化的拆分与组合时,需要遵守的那些规则
②Node.js中的模块化
2.1Node.js中模块的分类
根据模块来源不同,将模块分为3大类:内置模块、自定义模块、第三方模块
2.2加载模块:
* 使用强大的require()方法,可以省略 .js后缀名
* 注意:使用require()方法加载其它模块时,会执行被加载中的模块代码
2.3Node.js中的模块作用域
* 和函数作用域类似,在自定义模块中定义的变量、方法等成员,只能在当前模块内被访问,这种模块级别的访问限制,叫做模块作用域
* 好处:防止了全局作用域污染的问题
2.4向外共享模块作用域的成员
1. module对象
在每个.js自定义模块都有一个module对象,它们里面存储了和当前模块有关的信息
2. module.exports对象
在自定义模块中,可以使用module.exports对象,将模块内的成员共享出去,共外界使用。外界用require()方法导入自定义模块时,得到的就是module.exports所指向的对象
3.共享成员时的注意点
使用require()方法导入模块时,导入的结果,永远以module.exports“指向”的对象为准
4.exports对象
* module.exports的另一种写法
* 注意:时刻谨记。require()模块时,得到的永远是 module.exports指向的对象
2.5Node.js中的模块化规范
Node.js遵循了CommonJs模块化规范,CommonJS规定了模块的特性和各模块之间如何相互依赖