用 10 行代码就能当 “服务器老板”+“网络小偷”+“文件管家”?Node.js:别不信!

前言

当你叩开 Node.js 的大门,会发现它的内核逻辑恰似一套精密的 "后端工具链" :http模块是搭建服务的 "基建脚手架" ,以极简代码就能拉起可被浏览器访问的 Web 端点 ;https模块是对接外部世界的 "数据导管" ,能安全拉取远程接口的资源流;而fs模块则是连接本地存储的 "文件算子" ,实现磁盘内容的读写调度。这三者如同后端开发的 "基础三角",支撑起服务端程序最核心的能力骨架。

就像学会用锅铲、炒勺、漏勺 搞定一桌菜,Node.js 的http、https、fs这 "三板斧" ,能帮你轻松搞定服务搭建、网络请求、文件读写 这三件大事。那我们就来看看这 "三板斧",它们到底咋用?

第一斧 :用http模块,10 行代码搭个 Web 服务器

想象一下:你对着电脑喊 "我要开个网站" ,Node.js 的http模块立刻给你搬来服务器的 "零件",10 行代码就能让浏览器访问到你的页面。

比如这串代码:

JavaScript 复制代码
const http = require('http') // 搬来HTTP"工具包"

// 造一个服务器:收到请求就"回应"
const server = http.createServer((req, res) => {
    if (req.url === '/home') { // 如果访问"/home"路径
        res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' }) // 告诉浏览器:我给你的是HTML,编码是utf-8
        res.end('<h2>首页</h2>') // 把"首页"这两个字扔给浏览器
    }
})

// 让服务器"蹲在"3000端口等请求
server.listen(3000, () => {
    console.log('server is running at http://localhost:3000')
})

效果 :打开浏览器输入http://localhost:3000/home,就能看到 "首页" 两个大字 ------ 是不是就10来行代码就出来了?

第二斧 :用https模块,"偷" 点网上的数据

如果说http是 "开商店" ,那https模块就是 "去别人家商店买东西"------ 比如从掘金 API 里扒点热门文章:

JavaScript 复制代码
const https = require('https'); // 搬来HTTPS"购物袋"

// 去掘金API"买"热门文章数据
https.get(
    'https://api.juejin.cn/content_api/v1/content/article_rank?category_id=1&type=hot&count=3',
    (res) => {
        let content = '';
            res.on('data', (chunk) => { // 数据"碎片"过来了,先攒着
            content += chunk;
        })
        res.on('end', () => { // 数据攒够了,打印出来看看
            console.log(content);
        })
    }
)

效果 :运行代码后,控制台会跳出掘金的文章数据 ------ 相当于 Node.js 帮你 "爬" 了个网页,是不是很神奇?

可能很多人觉得控制台的东西很乱,但中文你总认得了吧?明显看到热搜第一的文章:2025快手直播至暗时刻 。(也就是title那一行)。

第三斧 :用fs模块,让 Node.js 当 "文件管家"

电脑里的文件,Node.js 能用fs模块随便折腾:既能 "读" 文件里的内容,也能 "写" 新内容进去。

比如读文件:

JavaScript 复制代码
const fs = require('fs'); // 搬来文件操作"管家"

// 读text.txt里的内容(就是那句"床前明月光")
fs.readFile('./text.txt', 'utf-8', (err, data) => {
    if (!err) {
        console.log(data); // 打印出"床前明月光,疑是地上霜"
    }
})

然后我们创建一个文件夹text.txt:

用node运行,就可以看到文本里的内容了:

再比如写文件:

JavaScript 复制代码
// 往readme.md里写"你好"
fs.writeFile('./readme.md', '你好', (err) => {
    if (!err) {
        console.log('写入成功'); // 成功后控制台提示
    }
})

效果 :运行后,文件夹里会多出一个readme.md,打开就是 "你好"------ 相当于 Node.js 帮你写了个小文档!

总结:Node.js 的 "三板斧",其实是 "三把钥匙"

  • http是开服务器的钥匙:让你从 "网页浏览者" 变成 "网页搭建者";
  • https是连互联网的钥匙:让你从 "数据消费者" 变成 "数据获取者";
  • fs是控本地文件的钥匙:让你从 "文件操作者" 变成 "文件自动化管理者"。

结语

从拉起一个 HTTP 服务,到拉取远程接口数据,再到操控本地文件,Node.js 的http、https与fs模块,本质是将 "网络通信" 与 "本地操作" 的底层能力封装成了开发者可直接调用的接口。掌握这三者,就相当于拿到了 Node.js 后端开发的 "入门密钥",后续无论是构建 API 服务、处理数据流转,还是管理文件资源,都能以此为基,向外延伸出更复杂的应用场景。

本篇依旧是Node.js的基础知识,感兴趣的话可以配套另外一篇基础知识一起👀:

Steam玩累了?那用 Node.js 写个小游戏:手把手玩懂 JS 运行环境

相关推荐
卸任4 小时前
Vibe coding工具使用心得
前端·ai编程
brien94 小时前
为什么模型标称 1M,Google Antigravity 聊到 256K 却突然失忆?我们给它做了个原生行内监控圆环
前端
修炼的dance5 小时前
录屏关键帧间隔多少合适?六档实测,2秒到10秒小了75.6%
前端
Lank_M5 小时前
关键帧从1秒拉到10秒,录屏小87.3%,摄像头小10.8%
前端
补码缩写5 小时前
用 ffprobe 拆录屏,八成字节在 29 个关键帧上
前端
百思不得小李5 小时前
一个复杂的动态表单是如何实现的
前端·设计模式
陈随易5 小时前
Cmder 停更 17 个月,2.0 支持 Windows Terminal
前端·后端·程序员
清晨Coding5 小时前
删了 Cookie 还能自动登录?Google系网站登录态自动恢复的原理分析
javascript
风骏时光牛马5 小时前
前沿视界
前端
kyriewen5 小时前
我扫了 814 个依赖,97 个还敢要 Node 10
前端·javascript·程序员