- NodeJs从零开始学习计划
- NodeJs的介绍
- JavaScript 的基础知识
- NodeJs的安装及运行机制
- NodeJs常用模块
- NodeJs的文件读写及Http服务器的创建
- 回调函数及异步事件
- NodeJs的模块系统
- Web 开发基础
- NodeJs数据库交互
- NodeJs相关测试框架
- NodeJs安全
- NodeJs性能优化
- Node.js 中使用 GraphQL、WebSockets 和 Serverless
NodeJs的文件读写及Http服务器的创建
class NodeJs,文件读写1. 基本的文件读写
在 Node.js 中,文件读写操作主要通过 fs
模块来实现。以下是一些常用的文件读写操作示例:
1.1 读取文件
const fs = require('fs');
// 异步读取文件
fs.readFile('example.txt', 'utf8', (err, data) => {
if (err) {
console.error('Error reading file:', err);
return;
}
console.log('File content:', data);
});
在上面的示例中,fs.readFile
方法异步读取 example.txt
文件的内容,并通过回调函数处理读取结果。
1.2 写入文件
const fs = require('fs');
// 异步写入文件
fs.writeFile('output.txt', 'Hello, Node.js!', (err) => {
if (err) {
console.error('Error writing file:', err);
return;
}
console.log('File has been saved!');
});
这里,fs.writeFile
方法将字符串 Hello, Node.js!
写入 output.txt
文件。如果文件不存在,会自动创建。
1.3 追加内容到文件
const fs = require('fs');
// 追加内容到文件
fs.appendFile('output.txt', '\nThis is an appended line.', (err) => {
if (err) {
console.error('Error appending to file:', err);
return;
}
console.log('Content has been appended!');
});
fs.appendFile
方法用于向文件中追加内容,而不是覆盖文件的现有内容。
1.4 同步文件读写
const fs = require('fs');
try {
const data = fs.readFileSync('example.txt', 'utf8');
console.log('File content:', data);
} catch (err) {
console.error('Error reading file:', err);
}
try {
fs.writeFileSync('output.txt', 'Hello, Node.js!');
console.log('File has been saved!');
} catch (err) {
console.error('Error writing file:', err);
}
同步方法 fs.readFileSync
和 fs.writeFileSync
会阻塞代码的执行,直到操作完成。
2. 创建简单的 HTTP 服务器
Node.js 提供了 http
模块,使用它可以非常方便地创建一个简单的 HTTP 服务器。
2.1 创建一个 HTTP 服务器
const http = require('http');
// 创建服务器
const server = http.createServer((req, res) => {
// 设置响应头
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
// 发送响应内容
res.end('Hello, World!\n');
});
// 服务器监听端口 3000
server.listen(3000, () => {
console.log('Server running at http://127.0.0.1:3000/');
});
在这个例子中,http.createServer
方法用于创建一个 HTTP 服务器,该服务器在接收到请求时返回一个 "Hello, World!" 消息。
2.2 处理不同的请求路径
const http = require('http');
const server = http.createServer((req, res) => {
if (req.url === '/') {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Welcome to the homepage!\n');
} else if (req.url === '/about') {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('This is the about page.\n');
} else {
res.statusCode = 404;
res.setHeader('Content-Type', 'text/plain');
res.end('Page not found!\n');
}
});
server.listen(3000, () => {
console.log('Server running at http://127.0.0.1:3000/');
});
在这个示例中,服务器根据请求的路径(req.url
)返回不同的响应内容。 /
路径返回主页内容,/about
路径返回关于页面内容,其他路径返回 404 错误。
总结
通过掌握文件读写和创建 HTTP 服务器的基础知识,你可以开始构建简单的 Node.js 应用程序。文件读写是处理文件系统操作的核心,而 HTTP 服务器则是构建网络服务的基础。通过这些基本功能的组合,Node.js 可以轻松实现从简单的工具到复杂的 Web 应用程序。
评论区
评论列表
{{ item.user.nickname || item.user.username }}