Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,用于方便地执行 JavaScript 代码。以下是一些 Node.js 的基本指南和示例代码。
- 创建一个简单的 HTTP 服务器:
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
- 使用 Node.js 读取文件:
const fs = require('fs');
fs.readFile('example.txt', 'utf8', (err, data) => {
if (err) throw err;
console.log(data);
});
- 使用 Node.js 写入文件:
const fs = require('fs');
const data = 'Hello Node.js';
fs.writeFile('example.txt', data, (err) => {
if (err) throw err;
console.log('The file has been saved!');
});
- 使用 Node.js 的异步编程:
const fs = require('fs');
const readFileAsync = filename =>
new Promise((resolve, reject) => {
fs.readFile(filename, 'utf8', (err, data) => {
if (err) reject(err);
resolve(data);
});
});
readFileAsync('example.txt')
.then(data => console.log(data))
.catch(err => console.error(err));
- 使用 Node.js 的模块系统创建一个模块:
// math.js
exports.add = function(a, b) {
return a + b;
};
// main.js
const math = require('./math.js');
console.log(math.add(1, 2)); // 输出: 3
- 使用 Node.js 的 TCP 服务器:
const net = require('net');
const server = net.createServer((socket) => {
console.log('A client connected');
socket.on('data', (data) => {
console.log(data.toString());
socket.write('Hello Client');
});
socket.on('close', () => {
console.log('A client disconnected');
});
});
server.listen(8080, () => {
console.log('Server is listening on port 8080');
});
这些示例展示了 Node.js 的基本功能和用法,并且涵盖了文件操作、异步编程、HTTP 服务器、模块系统和 TCP 服务器等常用场景。