fs文件系统模块
fs.readFile
const fs = require('fs');
fs.readFile('./files.txt', 'utf8', (err, daraStr) => {
// 如果读取成功,err为null
// 如果读取失败,err为错误对象
console.log(err);
console.log('-------');
console.log(dataStr);
})
fs.wirteFile
语法
fs.wirteFile(file, data[, options], callback)
参数解读:
- 参数1: 必须参数,需要制定一个文件路径的字符串,标识文件的存放路径
- 参数2: 必须参数,表示要写入的内容
- 参数3: 可选参数,标识以什么格式写入文件内容,默认你是utf8
- 参数4: 必须按参数,文件写入完成后的回调函数
实例:
fs.writeFile('./data/write-file.txt', 'write-file', (err) => {
console.log(err, '写入成功')
})
注意:如果文件目录(./data)不存会写入失败,如果文件(write-file.txt)不存在会新建,如果文件存在,会覆盖以前的内容
__dirname
表示当前文件所所处的目录
console.log(__dirname)
path路径模块
- path.join(),用来将多个路径片段拼接为一个完整的路径字符串
- path.basename()用来从路径i复查u你中过,将文件名解析处理
const path = require('path')
path.join()
const pathStr = path.join('/a', '/b/c', '../', './d', '/e')
console.log(pathStr); // 输出 /a/b/d/e
const pathStr1 = path.join(__dirname, '/data/file.txt')
console.log(pathStr1); // 输出 当前文件所载目录/data/file.txt
path.basename()
语法
path.basename(path[, ext]);
参数解读:
- path:string必须参数,标识一个路径的字符串
- ext:string可选参数,表示文件扩展名
- 返回:string标识文件路径中的最后一部分
示例:
const fpath = '/a/b/index.html';
let fullName = path.basename(fpath);
console.log(fullName); // index.html
let nameWithoutExt = path.basename(fpath, '.html');
console.log(nameWithoutExt); // index
path.extname()
语法
path.extname(path);
参数解读:
- path:string必须参数,标识一个路径的字符串
- 返回:string返回得到的扩展名字符串
示例:
const fpath = '/a/b/index.html';
let extname = path.extname(fpath);
console.log(extname); // .html
http 模块
http模块,是node.js官网提供的,用来创建web服务器的模块,通过http模块提供的http.createServer()
方法,就能放拜年的把一台普通的哦电脑,变成一台web服务器,从而对外提供web资源服务
创建最基本的web服务器
- 导入http模块
- 创建web服务器实例
- 为服务器实例绑定request时间,监听客户端请求
- 启动服务器
const http = require('http');
const server = http.createServer();
server.on('request', (req, res) => {
const str = `你请求的地址是${req.url},请求的method类型是${req.method}`;
// 避免乱码
res.setHeader('Content-type', 'text/html; charset=utf-8');
res.end(str);
})
根据不同的url响应不同的html内容
const http = require('http');
const server = http.createServer();
server.on('request', (req, res) => {
const url = req.url;
const method = req.method;
let content = '<h2>404页面不存在</h2>'
if(url === '/' || url === '/index.html') {
content = '<h2>首页</h2>'
}
else if(url === '/about.html') {
content = '<h2>关于</h2>'
}
res.setHeader('Content-type', 'text/html; charset=utf-8');
res.end(content);
});
server.listen(80, () => {
console.log('http server running at http://127.0.0.1');
})