nodejs入门
Node.js 笔记
什么是Node.js
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,用于构建高效的网络应用程序和后端服务。它采用事件驱动、非阻塞I/O模型,使得可以处理大量并发连接。
安装
官网下载安装包进行安装即可:https://nodejs.org/en/download/
核心组成部分
模块系统
Node.js通过模块系统进行代码组织,使得代码易于维护和重用。模块可以是一个文件或文件夹,通过require
函数引入模块。模块可以使用exports
对象向外暴露接口,或使用module.exports
向外暴露一个对象或函数。
事件驱动
Node.js采用事件驱动模型,即所有的I/O操作都是异步的。当一个异步操作完成后,会触发相应的事件,开发者可以注册事件监听器来处理这些事件。
非阻塞I/O
Node.js采用非阻塞I/O模型,使得它可以处理大量并发连接。当一个I/O操作需要等待数据返回时,Node.js会继续执行其他操作,不会阻塞当前线程。
代码例子
以下是一个简单的HTTP服务器的例子:
const http = require('http');
http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World\n');
}).listen(3000);
console.log('Server running at http://localhost:3000/');
常见使用代码
读取文件内容
const fs = require('fs');
fs.readFile('file.txt', 'utf8', (err, data) => {
if (err) throw err;
console.log(data);
});
发送HTTP请求
const https = require('https');
https.get('https://www.example.com/', (res) => {
console.log('statusCode:', res.statusCode);
console.log('headers:', res.headers);
res.on('data', (d) => {
process.stdout.write(d);
});
}).on('error', (e) => {
console.error(e);
});
异步编程
const async = require('async');
async.parallel([
(callback) => {
setTimeout(() => {
callback(null, 'one');
}, 200);
},
(callback) => {
setTimeout(() => {
callback(null, 'two');
}, 100);
}
],
(err, results) => {
console.log(results);
});
常见模块和使用方法
http
HTTP模块提供了创建HTTP服务器和客户端的功能。它可以创建一个HTTP服务器,或向其他HTTP服务器发送请求。以下是一个HTTP客户端的例子:
const http = require('http');
http.get('http://www.example.com/', (res) => {
console.log('statusCode:', res.statusCode);
console.log('headers:', res.headers);
res.on('data', (d) => {
process.stdout
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本