前端框架前置知识之Node.js:fs模块、path模块、http模块、端口号介绍

什么是模块?

类似插件,封装了方法 / 属性

fs 模块- 读写文件

代码示例

javascript 复制代码
// 1. 加载 fs 模块对象
const fs = require('fs')
// 2. 写入文件内容
fs.writeFile('./test.txt', 'hello, Node.js', (err) => {
  if (err) console.log(err) //若 err不为空,则代表写入失败
  else console.log('写入成功')
})
// 3. 读取文件内容
fs.readFile('./test.txt', (err, data) => {
  if (err) console.log(err)
  // data 是 buffer 16 进制数据流对象
  // .toString() 转换成字符串
  else console.log(data.toString())
})

path 模块-路径处理

问题:Node.js 代码中,相对路径是根据终端所在路径来查找的,可能无法找到你想要的文件

举个例子

解决方法

代码示例

javascript 复制代码
const fs = require('fs')
// 1. 引入 path 模块对象
const path = require('path')
// 2. 调用 path.join() 配合 __dirname 组成目标文件的绝对路径
console.log(__dirname) //获取到的是当前文件所在的文件夹的绝对路径
fs.readFile(path.join(__dirname, '../test.txt'), (err, data) => {
  if (err) console.log(err)
  else console.log(data.toString())
})

使用 path 模块的好处在于,访问路径不受终端路径影响,代码易维护,易复用

http 模块-创建Web 服务

需求:创建Web 服务并响应内容给浏览器

代码示例

javascript 复制代码
// 1.1 加载 http 模块,创建 Web 服务对象
const http = require('http')
const server = http.createServer()
// 1.2 监听 request 请求事件,设置响应头和响应体
server.on('request', (req, res) => {
  // 设置响应头-内容类型-普通文本以及中文编码格式
  res.setHeader('Content-Type', 'text/plain;charset=utf-8')
  // 设置响应体内容,结束本次请求与响应
  res.end('欢迎使用 Node.js 和 http 模块创建的 Web 服务')
})
// 1.3 配置端口号并启动 Web 服务
server.listen(3000, () => {
  console.log('Web 服务启动成功了')
})

端口号及Web服务程序

1. 端口号的作用?

➢ 标记区分服务器里不同的服务程序

  1. 什么是Web 服务程序?

➢ 提供网上信息浏览的程序代码

相关推荐
燕落南枝5 分钟前
CSS 字体样式:颜色、字体族、倾斜、加粗与装饰
前端·css
鬼手点金8 分钟前
消息的四种角色
java·前端·人工智能·git·深度学习
m4Rk_8 分钟前
【论文阅读】Agent记忆机制(106):COUNTERMEM——用可执行世界模型验证“如果当时换个动作”的反事实记忆
论文阅读·人工智能·学习·开源·github
陈随易11 分钟前
副业搞钱之代办永不过时
前端·后端·程序员
古夕12 分钟前
同样的 font-weight,为什么这个项目的字体就是更细?
前端·javascript
程序员200713 分钟前
抽卡玄学?不,是数学:保底机制下出货概率到底怎么算
前端
excel13 分钟前
请求很慢,问题一定出在服务器吗?看懂浏览器网络耗时
前端·后端
代码猎人19 分钟前
前端怎么熟悉ES6+语法
前端
攻城狮白玉19 分钟前
Node.js 发布紧急安全更新:10 个漏洞,8 枚危险证书被拉黑。附AI修复提示词
node.js
代码猎人21 分钟前
前端怎么精通Vue2核心原理
前端