node 模块化

本文探讨了ES6模块化的发展历程,包括ES6前后的变化,以及Node.js中的模块化规范,如CommonJS、ES6模块和UMD。重点介绍了模块化如何避免全局污染,提高代码复用和维护性,并通过实例展示了自定义模块的创建和使用。
摘要由CSDN通过智能技术生成

模块化的来源

在 es6 之前JS 是没有模块化功能的,  es5中不支持模块化,通常我们都是用一个html 文件引入多个 JS 文件,这样很容易造成变量污染, 代码无法维护

什么是模块化

模块化是指解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程。对于整个系统来说,模块是可组合、分解和更换的单元

一个js文件可以引入其他的js文件,能使用引入的js文件的中的变量、数据,这种特性就称为模块化。

nodejs是支持模块化的。

模块化的规范

概念:

概念:拆分模块和组合模块时,所遵守的规则,就叫做模块化规范。

例如:在 Node.js 中,导入其它模块时,统一使用 require() 函数。

//导入 fs 模块
const fs = require('fs')
//导入 path 模块
const path = require ('path')
  • CommonJS 规范:nodejs中遵守的就是commonjs规范。

  • ES6 模块化规范:(前后端通用的模块化规范;Node.js、Vue、React 中都能使用!)

  • CMD 和 AMD 模块化规范(较少使用): CMD--sea.js, AMD-require.js

  • UMD 叫做通用模块定义规范(Universal Module Definition),它可以通过运行时或者编译时让同一个代码模块在使用 CommonJs、CMD 甚至是 AMD 的项目中运行。它没有自己专有的规范,是集结了 CommonJs、CMD、AMD 的规范于一身。

模块化的好处 

使用模块作用域可以防止全局变量污染,文件依赖等问题产生

-  提高了代码的复用性
-  提高了代码的可维护性
-  可以实现按需加载

历程

es6之前 :

    es5不支持模块化,为了让支持模块化,我们一般会借用第三方库来实现

es6之后:

    es6原生语法也支持模块化(并不表示浏览器也直接支持模块化 --- 需要单独设置一下)

    Nodejs内部也支持模块化(与es6的模块化有些不同之处)。

用commonJS   规范来自定义模块

nodejs 的三种模块

-核心(内置)

-第三方

自定义

在Node.js 中定义模块,要遵守 CommonJS 的模块化规范。CommonJS 规范中主要规定了以下 3 项内容:

①导入其它模块时,统一使用 require() 函数。

②每个 .js 文件,都是一个独立的模块,模块内的成员都是私有的。

③在每个 JS 模块中,使用 module.exports 向外共享成员。

 

 

自定义模块的特点:

①使用 require('自定义模块的路径') 即可导入自定义模块;

②自定义模块内的变量、函数等都是私有的,默认无法被外界访问到;

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值