| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> 【Node.js】模块化学习 -> 正文阅读 |
|
[JavaScript知识库]【Node.js】模块化学习 |
目录 ? ? ? ? ? ? ? ? ?module.exports对象 ? ? ? ? ? ? ? ? ?exports和module.exports的适用误区 模块化的基本概念? ? ? ? 什么是模块化????????????????现实中的模块化?小霸王游戏机就是模块化,游戏卡带 以及机器都是模块,模块化可以方便我们更换不同的游戏卡带,如果游戏机不是模块化的话,那么我们每次换游戏都需要重新购买游戏机了,模块化更能满足我们的需求。 ? ? ? ? ? ? ? ? 编程领域中的模块化? ? 编程领域中的模块化,就是遵守固定的规则,把一个大文件拆成独立并互相依赖的多个小模块。 把代码进行模块化拆分的好处:
????????模块化规范?模块化规范就是对代码进行模块化的拆分与组合。需要遵守的哪些规则。 例如
模块化规范的好处 :大家都遵守同样的模块化规范写代码。降低了沟通的成本,极大方便了各个模块之间的相互调用,利人利己。 Node.js中的模块化????????Node.js中模块的分类Node.js中根据模块来源的不同,将模块分为了三大类,分别是:
? ? ? ? ?加载模块? ? 使用强大的require()方法,可以加载需要的内置模块,用户自定义模块,第三方模块进行使用
? ? 注意:使用require()方法加载对应模块时,会自动执行被加载模块中的代码。 ????????Node.js中的模块作用域????????????????什么是模块作用域和函数作用域类似,再自定义模块中定义的变量,方法等成员,只能在当前定义的模块内被访问,这种模块机别的访问限制,被叫做模块作用域,导入模块后 也不能使用模块内的函数等, ? ? ? ? ? ? ? ? 模块作用域好处防止了全局变量污染的问题,这个问题 我再之前的es6文章 let const var定义函数中说过。 ???????
? 一个导入模块自动执行的显示语句,和打印模块获取的空对象。? ?????????向外共享模块作用域中的成员? ? ? ? ? ? ? ??module对象在每个js自定义模块中都有一个module对象,他里面存储了和当前模块有关的信息。 我们可以打印下module对象看看里面的内容 ? ? ? ? ? ? ? ? ?module.exports对象在自定义模块中,可以使用module.exports对象,将模块内的成员共享出去,供外界使用,外界用require方法导入自定义模块时,得到的就是module.exports指向的对象。
? ? ? ? ? ? ? ? ?共享成员的注意点使用require()方法导入模块时,导入的结果,永远以module.exports指向的对象为准。
打印出新对象 ????????????????exports对象由于module.exports单词写起来比较复杂,为了简化向外共享成员的代码,Node提供了exports对象,默认情况下,exports和module.exports指向同一个对象,最终共享的结果,还是以module.exports指向的对象为准。 ? ? ? ? ? ? ? ? ?exports和module.exports的适用误区例 ???????????????? ? ? ? ?注意:为了防止混乱,建议大家不要再同一个模块中同时使用exports和module.exports,尽量只使用module.exports,或者 在同一个模块中 如果不添加新的对象 大家可以使用exports添加属性,如果要改变对象的话 使用module.exports。 ?????????Node.js中的模块化规范Node.js遵循了CommonJS模块化规范,CommonJS规定了模块的特性和各模块之间如何相互依赖。 CommonJS规定:
|
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/11 17:46:07- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |