【Node】Node.js的模块系统、ES6的模块导入导出

本文介绍了Node.js的模块系统,包括CommonJS规范、模块的使用、成员暴露方法,以及ES6中的模块导入导出。Node.js通过exports和module.exports实现模块导出,而ES6则采用export和import命令,提供了更简洁的语法。export default用于指定默认输出,导入时可以自定义名称。
摘要由CSDN通过智能技术生成


软件中的模块开发:
一个功能就是一个模块,多个模块可以组成完整应用,抽离一个模块不会影响其他功能的运行

require: node 和 es6 都支持的引入
export / import : 只有es6 支持的导出引入
module.exports / exports: 只有 node 支持的导出

Node.js的模块系统

CommonJS:它是一个致力于将 JavaScript 生态系统标准化的一个组织,它最出名的一个提议就是我们众所周知的 CommonJS modules ,Node 则是在本规范的基础上构建了他自己的模块系统,并且添加了一些自定义扩展。

  • CommonJS定义的模块分为: 模块标识(module)、模块定义(exports) 、模块引用(require)

  • Node.js规定一个 JavaScript文件 就是一个模块,模块内部定义的变量、函数、类默认情况下在外部无法得到。

  • 模块内部可以使用exports对象进行成员导出, 使用require()方法导入其他模块

  • Node.js主要用于服务器端编程,无须考虑非同步加载的方式,选择CommonJS规范。

  • 按照CommonJS规范要求,使用exports接口对象导出模块中的成员,通过require()方法将其他模块的输出加载到当前模块作用域中。
    在这里插入图片描述

为什么要使用模块

  • Node.js将可重用代码封装在各种模块中,减少应用程序的代码量,提高开发效率和代码的可读性。
  • 模块打包代码的方式不会改变全局作用域,开发人员可以在被载入的模块文件中选择要对外暴露的方法和变量。
  • 模块可以发布到npm仓库中与他人共享。

模块的使用

  • require()方法,除了用来加载某个模块外,还可以拿到当前加载进来的文件模块导出的接口对象,因为在每个文件模块中都提供了一个exports对象,这个exports对象它是用来将某个方法或变量暴露(导出)出去。
  • exports默认是一个空对象。
  • 我们可以动态地为这个exports对象添加一些成员,我们现在要做的便是把所有需要被外部访问到的成员方法或属性挂载到这个exports对象当中,如果没有挂载到exports对象中的方法或变量,外部是无法访问的。

模块中成员暴露的方法

通过exports:

  • exports.变量名 主要用来暴露变量和函数
  • exports返回的是模块函数
//j1.js
var func1 = function() {
   
   console.log("func1"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南栀~zmt

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值