Node.js知识点
一、fs(文件系统)
(1) 读取指定文件内容
fs.readFile(path[,option],callback
- 参数1:字符串,表示文件的路径
- 参数2,表示以什么编码格式读取文件
- 参数3:读取完成后,通过会点函数读取结果
(2) 向指定的文件中写入内容
fs.writeFile(file,data[,options],callback)
- 参数1:指文件路径的字符串,表示文件的存放路径
- 参数2:表示要写入的内容
- 参数3:表示写入内容的格式,默认值是utf8
二、path(路径)
(1)path.join()
用来将多个路径片段拼接成一个完整的路径的字符串
(2)path.basename()
可以从一个文件路径中获取文件的名称
(3)path.extname()
可以获取文件的扩展名
const fpath='a/b/c/index.html' //文件的路径
const fext=path.extname(fpath)
console.log(fext) //输出.html
注意:若出现路径拼接问题,可以直接提供一个完整的文件存放路径
三、http(服务器)
(1) 创建基本的web服务器
- 启动服务器
- req请求对象
- res响应对象
(2)根据不同的url响应不同的html内容
const server = http.createServer() // 创建web服务器
// 监听服务器的request事件
server.on('request', (req, res) => {
const url = req.url // 获取客户端的地址
// 把请求的地址映射为具体文件的存放路径和
// const fpath = path.join(__dirname, url)
let fpath=''
if(url === '/') { fpath=path.join(__dirname,'')
} else { fpath=path.join(__dirname,'',url)
}
// 读取文件 显示为客户端
fs.readFile(fpath, 'utf8', (err, dataStr) => {
if(err) return res.end('404 Not Found.') // 失败
res.end(dateStr)
})
})
server.listen(80, () => {
console.log('server ruuning at http://127.0.0.1');
}) // 启动服务器
解决中文乱码问题
res.setHeader(‘Content-Type’,‘文件路径’,charset=‘utf-8’)
四、npm与包
安装包的命令为 npm i moment
卸载包的命令 npm uninstall moment
(1)包的使用
-
包必须以单独的目录存在
-
包的顶级目录下必须包含package.json这个包配置文件
-
package.json中必须包含name(包的名字),version(版本号),main(包的入口)
(2)开发包
需要实现的功能
-
格式化日期
-
转义HTML中的特殊字符
-
将HTML中的符号转为字符
-
还原HTML中的特殊字符
(3)把包发布到npm上
将终端切换到包的根目录下 命令为:cd 包名为根目录
运行npm publish命令
五、模块化
模块在第一次加载后就被缓存
(1)内置模块(加载优先级最高)
如果导入时省略了文件的扩展名,则会自动补全
(2)第三方模块的加载机制
如果传递给require()的模块标识符不是内置模块,也没有‘./ ’或 '…/ '开头,则nodejs会从当前模块的父目录开始从/node_modules文件夹中加载第三方模块
(3)目录作为模块