node.js内置模块fs,path,http使用方法

NodeJs中分为两部分

一是V8引擎为了解析和执行JS代码。

二是内置API,让JS能调用这些API完成一些后端操作。

内置API模块(fs、path、http等)

第三方API模块(express、mysql等)

fs模块

fs.readFile()方法,用于读取指定文件中的内容。

fs.writeFile()方法,用于向执行的文件中写入内容

js 复制代码
// fs 文件读写模块
fs.readFile(path[, options], callback)

// path:必选,字符串,表示文件路径。
// options:可选,表示以什么编码格式来读取文件。
// callback:必选,文件读取完成后,通过回调函数拿到读取的结果。
fs.readFile('./file.txt', 'utf8', function(err, sucess){
	// 打印失败的结果
	// 读取失败时err会返回错误对象,sucess会返回undefined
	console.log(err)
	console.log("-------------------------")
	// 打印成功的结果
	console.log(sucess)
})
js 复制代码
const fs = require("fs")
// 2.调用fs.writeFile()方法,写入文件内容
// 	参数1:读取文件的存放路径
// 	参数2:data:表示要写入的内容。
// 	参数3:表示以什么格式写入文件内容,默认值是utf8。
// 	参数4:文件写入完成后的回调函数。
fs.writeFile('./file.txt', "Holle", 'utf8', function(err){
	// 打印失败的结果
	console.log(err)
})

path路径处理模块

path.join()方法,用来将多个路径片段拼接成一个完整的路径字符串

path.basename()方法,用来从路径字符串中,将文件名解析出来

js 复制代码
 // 合成路径的时候,'.../'会抵消掉一层路径

const path = require('path')

const path = path.join('/a', '/b/c', '../', './d', 'e')
console.log(path)
// \a\b\d\e
const path2 = path.join(__dirname, './files/123.txt')
console.log(path2)
// __dirname:表示当前js文件所处的目录
js 复制代码
// path.basename(),从一个文件路径中,获取到文件的名称部分:

const path = require('path')

const path = '/a/b/c/index.html'
var fullName = path.basename(path)
console.log(fullName)
// index.html

var n = path.basename(path, ".html" )
console.log(n)
// index
js 复制代码
// 使用path.extname()方法,可以获取路径中的扩展名部分

const path = require('path')

const fpath = '/a/b/c/index.html'
const fext = path.extname(fpath)
console.log(fext)
// .html

http

通过 http模块提供的 http.createServer()方法,把一台普通的电脑,变成一台Web服务器,从而对外提供Web资源服务。

js 复制代码
/ 导入http模块
const http = require('http')
// 创建web 服务器实例
const server = http.createServer()
// 为服务器实例绑定request事件,监听客户端的请求
server.on( 'request', (req,res) => {
// req 客户端请求信息
// res 服务器响应信息

// 解决中文乱码问题
//发送的内容包含中文
	const str =`您请求的url地址是${req.url},请求的 method类型是${req.method}`
	// 为了防止中文显示乱码的问题,需要设置响应头Content-Type 的值为 text/html; charset=utf-8
	res.setHeader( 'Content-Type',  'text/html; charset=utf-8')
	// 把包含中文的内容,响应给客户端
    res.end(str)

	// 只要有客户端来请求我们自己的服务器,就会触发request 事件,从而调用这个事件处理函数
    console.log( 'Someone visit our web server.' )
})

// 启动服务器
server.listen(8080, () =>{
	console.log('http server running at http://127.0.0.1:8080')
})

只要有人访问http://127.0.0.1:8080,那么终端就会打印Someone visit our web server.但是由于没有写任何返回值,页面会等着客户端返回数据。
相关推荐
王二端茶倒水19 小时前
商业 WiFi 不是免费上网,而是门店数字化的入口
网络协议
米丘3 天前
vite8 vite preview 命令做了什么?
node.js·vite
blanks20204 天前
生成 公钥私钥 笔记
node.js
霜落长河5 天前
抛弃TCP改用UDP,HTTP3怎么了?
http
糖拌西瓜皮5 天前
Java开发者视角:深入理解Node.js异步编程模型
java·后端·node.js
智通6 天前
Node.js事件循环核心机制
node.js
程序员mine6 天前
HTTPS-TLS加密与证书完全指南(中)
网络协议·https·ssl
之歆6 天前
现代 HTTP 客户端深度解析:Fetch 与 Axios
chrome·网络协议·http
酉鬼女又兒6 天前
零基础入门计算机网络运输层:端到端通信核心作用、端口号分类规则、复用分用工作机制及UDP与TCP协议全方位对比详解
网络·网络协议·tcp/ip·计算机网络·考研·udp·php
dog2506 天前
不要再继续优化 TCP
网络协议·tcp/ip·php