您的位置:首页 > 文旅 > 美景 > 温州seo优化排名公司_做一个简单的网页多少钱_网站优化seo_痘痘怎么去除有效果

温州seo优化排名公司_做一个简单的网页多少钱_网站优化seo_痘痘怎么去除有效果

2025/4/6 5:10:32 来源:https://blog.csdn.net/qq_38983511/article/details/147011682  浏览:    关键词:温州seo优化排名公司_做一个简单的网页多少钱_网站优化seo_痘痘怎么去除有效果
温州seo优化排名公司_做一个简单的网页多少钱_网站优化seo_痘痘怎么去除有效果

以下是 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/

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com