当前位置: 首页 > wzjs >正文

东莞网站制作实力乐云seo合肥网站制作公司电话

东莞网站制作实力乐云seo,合肥网站制作公司电话,网站会员功能介绍,软件开发者大会以下是 Node.js 最常用的核心模块及 API 详解,按使用频率和重要性分类整理: 一、高频核心模块 1. fs 文件系统 const fs require(fs); const fsPromises require(fs).promises; // Promise 版本// 异步读取文件(推荐) fs.read…

以下是 Node.js 最常用的核心模块及 API 详解,按使用频率和重要性分类整理:


一、高频核心模块

1. fs 文件系统
const fs = require('fs');
const fsPromises = require('fs').promises; // Promise 版本// 异步读取文件(推荐)
fs.readFile('file.txt', 'utf8', (err, data) => {if (err) throw err;console.log(data);
});// Promise 方式读取(ES6+)
fsPromises.readFile('file.txt', 'utf8').then(data => console.log(data)).catch(console.error);// 同步读取(慎用)
const data = fs.readFileSync('file.txt', 'utf8');// 写文件
fs.writeFile('new.txt', 'Hello World', err => {if (err) throw err;
});// 目录操作
fs.readdir('./', (err, files) => {console.log(files); // 获取目录文件列表
});// 文件状态
fs.stat('file.txt', (err, stats) => {console.log(stats.isFile()); // 是否文件console.log(stats.size); // 文件大小
});
2. path 路径处理
const path = require('path');// 拼接路径(跨平台)
const fullPath = path.join(__dirname, 'subdir', 'file.txt');// 解析绝对路径
path.resolve('src', 'app.js'); // 等同于 __dirname + '/src/app.js'// 获取文件名/扩展名
path.basename('/foo/bar/baz.txt'); // 'baz.txt'
path.extname('index.html'); // '.html'// 路径解析
path.parse('/home/user/file.txt');
/* 返回:
{root: '/',dir: '/home/user',base: 'file.txt',ext: '.txt',name: 'file'
} */
3. http 网络服务
const http = require('http');// 创建服务器
const server = http.createServer((req, res) => {res.writeHead(200, { 'Content-Type': 'text/plain' });res.end('Hello World');
});server.listen(3000, () => {console.log('Server running on port 3000');
});// 发起 HTTP 请求
http.get('http://api.example.com', (response) => {let data = '';response.on('data', chunk => data += chunk);response.on('end', () => console.log(data));
});

二、中高频工具模块

1. events 事件触发器
const EventEmitter = require('events');
class MyEmitter extends EventEmitter {}const myEmitter = new MyEmitter();// 监听事件
myEmitter.on('event', (arg) => {console.log('Event triggered:', arg);
});// 触发事件(可传参)
myEmitter.emit('event', { data: 123 });// 一次性监听
myEmitter.once('single', () => console.log('Only once'));
2. stream 流处理
const fs = require('fs');// 读取流
const readStream = fs.createReadStream('bigfile.txt', 'utf8');readStream.on('data', chunk => {console.log('Received chunk:', chunk.length);
});readStream.on('end', () => {console.log('File read complete');
});// 写入流
const writeStream = fs.createWriteStream('output.txt');
writeStream.write('Line 1\n');
writeStream.end('Final line');
3. util 实用工具
const util = require('util');// 回调转 Promise
const readFileAsync = util.promisify(fs.readFile);// 继承检查
util.types.isDate(new Date()); // true// 深度对象调试
console.log(util.inspect(obj, { depth: null }));

三、常用全局对象

1. process 进程控制
// 环境变量
console.log(process.env.NODE_ENV);// 命令行参数
process.argv.forEach((val, index) => {console.log(`${index}: ${val}`);
});// 退出程序
process.exit(1); // 非零表示异常退出// 标准输入输出
process.stdin.on('data', data => {process.stdout.write(`You typed: ${data}`);
});
2. Buffer 二进制处理
// 创建 Buffer
const buf1 = Buffer.from('Hello');
const buf2 = Buffer.alloc(10); // 10字节空Buffer// 写入数据
buf2.write('World');// 转换格式
console.log(buf1.toString('base64')); // SGVsbG8=
console.log(Buffer.from('SGVsbG8=', 'base64').toString()); // Hello

四、其他关键 API

1. 定时器
// setTimeout (单次)
const timer = setTimeout(() => {console.log('Delayed 1s');
}, 1000);// clearTimeout(timer); // 取消// setInterval (循环)
const interval = setInterval(() => {console.log('Every 2s');
}, 2000);// clearInterval(interval);
2. child_process 子进程
const { exec, spawn } = require('child_process');// 执行 shell 命令
exec('ls -l', (err, stdout, stderr) => {console.log(stdout);
});// 流式处理
const ls = spawn('ls', ['-lh', '/usr']);
ls.stdout.on('data', data => {console.log(`stdout: ${data}`);
});

五、最佳实践要点

  1. 异步优先:始终优先使用异步 API(回调/Promise/async-await),避免阻塞事件循环
  2. 错误处理:所有回调函数必须检查 err 参数
    fs.readFile('file.txt', (err, data) => {if (err) {console.error('Read failed:', err.message);return;}// 正常处理
    });
    
  3. 路径安全:使用 path.join() 替代字符串拼接,避免跨平台问题
  4. 流式处理:大文件操作必须使用 Stream,防止内存溢出
  5. 环境区分:通过 process.env.NODE_ENV 区分开发/生产环境

六、常用第三方模块推荐

模块名用途安装命令
expressWeb 框架npm install express
axiosHTTP 客户端npm install axios
lodash实用工具库npm install lodash
moment日期处理npm install moment
winston日志记录npm install winston
dotenv环境变量加载npm install dotenv

掌握这些核心 API 后,可快速应对 90% 的 Node.js 开发场景。建议结合官方文档深入理解:https://nodejs.org/api/

http://www.dtcms.com/wzjs/590549.html

相关文章:

  • 海南网站制做的公司网站开发为什么要写接口
  • 爱站网新网址是多少wordpress ajax评论
  • 辽宁省建设工程招标协会网站遵化建设局网站
  • 大连网站建设方案维护影视类网站建设
  • 重庆永川网站建设报价wordpress用户名是哪个文件
  • 如何分析网站建设网页设计开发培训班
  • 网站如何不让百度抓取视频8首页制作代码
  • 制作网站网页域名的公司做网站的外包公司
  • 建站网站苏州天美传媒传媒官网免费下载
  • 网站开发公司的职责wordpress 网银支付宝
  • 网站开发struts泰安房产网新楼盘房价
  • 专业营销型网站建设游戏门户网站建设
  • 微信网站方案阳高网站建设
  • 徐州手机网站开发公司电话nana wordpress
  • php怎么建立站点泰安最好的房产中介
  • 建筑公司网站页面图片学校网站建设联系电话
  • 网站建设 佛山移动网站 用户体验
  • 长春网络传媒做网站骗钱先做网站还是app
  • 吴中区建设局招标网站公司响应式网站
  • 开个免费的网站多少钱中国建筑劳务分包平台
  • xyz溢价域名最好的网站烟台网站建设的公司
  • 深圳住房和建设管理局官方网站深圳网站制作价格
  • 网站设计师 要求中国企业500强榜单发布
  • 个人优秀网站网站建设:上海珍岛
  • 旅游网站建设模块威胁网站检测平台建设
  • 铜仁公司做网站南联网站建设推广
  • 能够做数据地图的网站怎么做淘宝客网站赚钱吗
  • 品牌宣传网站制作如何给异地网站做镜像
  • 自己做网站难网站开发与软件开发区别
  • 企业网站必须实名认证现在网站的外部链接怎么做