本文共 2250 字,大约阅读时间需要 7 分钟。
在Node.js中,模块化开发是核心特性之一。CommonJS是Node.js模块系统的模块化规范,遵循以下规则:
模块间的引入使用require()方法:
const module = require('module-path'); 模块的暴露方式有两种:
exports对象上。module.exports对象上。最终,module.exports会将exports指向的值进行暴露。每个模块都被一个函数包裹,内部通过exports或module.exports暴露接口。模块加载时会执行内部函数。
Node.js提供了一个全局对象global,包含以下属性:
Node.js的全局环境与浏览器不同:
Node.js事件轮询机制分为以下阶段:
setImmediate回调。poll阶段执行。setImmediate在check阶段优先执行。process.nextTick可以在任何阶段立即执行回调,适用于高优先级任务。
package.json是Node.js项目的依赖管理文件,包含以下内容:
npm install/npm i xxx。npm i -g。npm init -y。npm remove xxx。为了加快依赖下载速度,可以配置镜像地址:
npm config set registry http://registry.npm.taobao.org/
yarn add xxx。yarn global add xxx。yarn install。Buffer是Node.js中处理二进制数据的核心模块,主要方法包括:
Buffer.alloc():安全创建Buffer。Buffer.from():创建Buffer。Buffer.allocUnsafe():不安全创建Buffer。处理文件路径的核心模块:
const path = require('path');console.log(path.join(__dirname, '../', '文件名')); // 绝对路径 实现自定义事件的核心模块:
const Emitter = require('events');const myEmitter = new Emitter();myEmitter.on('事件名', function(...args) { console.log('事件触发');});myEmitter.emit('事件名', 1, 2, 3); 文件系统核心模块,主要方法包括:
const fs = require('fs');fs.writeSync('/路径', '内容', { flags: 'w', mode: 0o666 }); fs.open('/路径', 'w', function(err, fd) { fs.write(fd, '内容', function(err) { fs.close(fd, function(err) { // 关闭文件 }); });}); const fs = require('fs');const ws = fs.createWriteStream('/路径');ws.write('内容'); Node.js作为前端开发框架,提供了强大的模块化能力和生态系统。通过理解CommonJS模块化规范、全局对象特性及事件轮询机制,我们可以更高效地开发Node.js应用。同时,合理使用包管理工具(如npm和yarn),优化依赖管理流程,是提升开发效率的重要手段。
转载地址:http://kojfk.baihongyu.com/