浅谈node中的exports与module.exports的关系
发布时间 - 2026-01-11 02:35:52 点击率:次因为是做前端的,对node的生态一直也比较关注,对于node中对commonJS模块化的实现给了我们很大的方便,之前对于导出的module.exports和exports一直模模糊糊,今天做一个整理

先来个js基础部分的复习
let obj1 = {}
let obj2 = obj1
obj2.a = 'a'
obj1.b = 'b'
console.log(obj1) //{a: 'a', b: 'b'}
console.log(obj2) //{a: 'a', b: 'b'}
obj2 = {}
console.log(obj2) //{}
console.log(obj1) //{a: 'a', b: 'b'}
obj1先指向内存中的一个区块,然后将obj1指向内存区块的引用传递给了obj2,那么这时obj1和obj2都指向了内存中的同一个区块,所以无论是通过obj1还是obj2向这块内存中加入属性,都会同时反应在obj1和obj2的身上,这时候obj2切断了与原先内存块的联系,指向了新的内存块,而obj1还是指向最先的内存区块,这时他们就各自管理各自的内存区块
现在看看module.exports和exports的关系
如图最开始的时候module.exports和exports都指向同一块内存区域,红线包含的区域,其中module.exports指向的区域用灰色填充
初始
现在我们导出为module.exports = {a: "a"},那么module.exports切断与原来的红色线包围的内存块,指向新的内存块还是灰色填充的内存块,如图
导出module.exports
或者是我们导出为exports = {a: "a"},那么exports切断与原来的红线包含的内存块,指向新的内存块,如图
导出为exports
重要的是我们通过require导入的永远都是module.exports,即图中灰色填充的内存块,而不是红色线条的最初始的内存块,所以无论我们在导出的时候是用module.exports还是exports只要保证导出的内容是挂载在灰色内存块上都是可行的
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# node
# module.exports
# nodejs中exports
# Node.js学习教程之Module模块
# vue中node_modules中第三方模块的修改使用详解
# 深入理解Node module模块
# nodejs中exports与module.exports的区别详细介绍
# node.js中module.exports与exports用法上的区别
# NodeJS学习笔记之Module的简介
# 深入理解node exports和module.exports区别
# node中modules.exports与exports导出的区别
# 详解Node.js中exports和module.exports的区别
# Node.js 中exports 和 module.exports 的区别
# node.js中module模块的功能理解与用法实例分析
# 如图
# 给了
# 的是
# 都是
# 或者是
# 做一个
# 应在
# 这块
# 来个
# 中对
# 图中
# 大家多多
# 永远都是
# 而不是
# 这时候
# br
# pre
# js
# exports
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
网站图片在线制作软件,怎么在图片上做链接?
Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
高端云建站费用究竟需要多少预算?
香港服务器WordPress建站指南:SEO优化与高效部署策略
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
音乐网站服务器如何优化API响应速度?
bing浏览器学术搜索入口_bing学术文献检索地址
青岛网站建设如何选择本地服务器?
如何在阿里云ECS服务器部署织梦CMS网站?
活动邀请函制作网站有哪些,活动邀请函文案?
Laravel的.env文件有什么用_Laravel环境变量配置与管理详解
香港服务器网站卡顿?如何解决网络延迟与负载问题?
深圳网站制作的公司有哪些,dido官方网站?
Python自然语言搜索引擎项目教程_倒排索引查询优化案例
Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】
Laravel怎么在Blade中安全地输出原始HTML内容
文字头像制作网站推荐软件,醒图能自动配文字吗?
EditPlus中的正则表达式实战(5)
详解Android图表 MPAndroidChart折线图
Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】
悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤
EditPlus中的正则表达式 实战(1)
如何确保FTP站点访问权限与数据传输安全?
在centOS 7安装mysql 5.7的详细教程
微信小程序 wx.uploadFile无法上传解决办法
音响网站制作视频教程,隆霸音响官方网站?
Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲
高防服务器租用指南:配置选择与快速部署攻略
如何在不使用负向后查找的情况下匹配特定条件前的换行符
ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法
jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
企业网站制作这些问题要关注
高端建站三要素:定制模板、企业官网与响应式设计优化
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
高防服务器租用首荐平台,企业级优惠套餐快速部署
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理
如何在阿里云高效完成企业建站全流程?
如何正确选择百度移动适配建站域名?
JavaScript如何实现路由_前端路由原理是什么
如何为不同团队 ID 动态生成多个非值班状态按钮
Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】
如何在Windows环境下新建FTP站点并设置权限?
如何用花生壳三步快速搭建专属网站?
Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧
上一篇:docker怎么启动mysql
上一篇:docker怎么启动mysql

