- __filename: 返回正在执行脚本文件的绝对路径
- __dirname: 返回正在执行脚本所在目录
- timmer类函数:执行顺序与事件循环间的关系
- process: 提供与当前进程互动的接口
- require: 实现模块的加载
- module 、exports:
fs文件系统模块
fs模块是Node.js官方提供的、用来操作文件的模块。它提供另外一系列的方法和属性,用来满足用户对文件的操作需求。 例如:
- fs.readFile() 方法,用来读取指定文件中的内容
- fs.writeFile() 方法,用来向指定的文件中写入内容
- 注意1、fs.writeFile() 方法只能用来创建文件,不能用来创建路径 2、重复调用fs.writeFile()写入同一个文件,新写入的内容会覆盖之前的旧内容
// fs是node安装包自带的,可以直接使用
const fs = require('fs')
fs.readFile(path[,options],callback) // []中是可选参数
参数解读:
- 参数一:必须按参数,字符串,表示文件的路径
- 参数二:可选参数,表示以什么**编码格式**来读取文件
- 参数三:必选参数,文件读取完成后,通过回调函数拿到读取的结果
fs.readFile('./files/11.txt','utf8',function(err,result){
console.log(err)
console.log('---')
console.log(result)
if(err){
return console.log('文件读取失败!'+err.message)
}
console.log('文件读取成功,内容是:'+ result)
})
fs.writeFile(path,content,callback)
参数解读:
- 参数一:表示文件的存放目录
- 参数二:表示要写入的内容
- 参数三:回调函数
fs.writeFile('./files/22.txt','abcd',function(err){
// 可以通过__dirname来拿正在执行脚本的目录路径(解决动态路径出现的问题)
'./files/22.txt' 改为 __dirname + 'files/22.txt'
console.log(err) // 文件写入成功,err为null,反之为一个错误对象
console.log('---')
console.log(result)
if(err){
return console.log('文件写入失败!'+err.message)
}
console.log('文件写入成功')
})
path路径模块
path模块是Nodejs官方提供、用来处理路径的模块。他提供了一系列的方法和属性,用来满足用户对路径的处理需求
- path.join() 方法,用来将多个路径片段拼接成一个完整的路径字符串
const path = require('path')
const pathStr = path.join(__dirname,'file/1.txt')
// **注意** ../ 会抵消前面的路径
const pathStr2 = path.join('/a','/b/c','../../','./d','e')
console.log(pathStr2) // a/d/e
- path.basename() 方法,用来从路径字符串中,将文件名解出来 使用path.basename() 方法,可以获取路径中最后一部分,经常通过这个方法获取路径中的文件名,语法格式如下
const fpath = '/a/b/c/index.html' // 文件的存放路径
const fullName =path.basename(fpath)
console.log(fullName) // 输出 index.html
const OnlyName = path.basename(fpath,'.html')
console.log(OnlyName) // 输出 index
- path.extname() 获取路径中文件的扩展名
const extName = path.extname(fpath)
console.log(extName) // 输出 .html
http模块
- 创建web服务器的基本步骤
- 导入http模块
- 创建web服务器实例
- 为服务器实例绑定request事件,监听客户端的请求
- 启动服务器
1.const http = require('http')
2.const server = http.createServer()
3.server.on('request', (req,res) => {
console.log("Some visit our web server");
})
4.server.listen(3000, () => {
console.log('server runnning at http://127.0.0.1:3000');
})
完整代码
const http = require('http')
const server = http.createServer()
server.on('request', (req,res) => {
console.log("SomeOne visit our web server");
// req.url 是客服端请求的URL地址
const url = req.url
// req.method 是客户端请求的method类型
const method = req.method
// const str = `Your request url is ${url},and request method is ${method}`
const str = `您请求的url地址是${url},请求的method类型是 ${method}`
console.log(str);
// 为了防止中文显示乱码的问题,需要设置响应头 Content-Type 的值为text/html; charset=utf-8
res.setHeader('Content-Type','text/html; charset=utf-8')
// 调用res.end() 方法,向客户端响应一些内容
res.end(str)
})
server.listen(3000, () => {
console.log('server runnning at http://127.0.0.1:3000');
})