前言
将一个复杂的程序文件依据一定的规则拆分成多个文件的过程称之为模块化
其中拆分出的每个文件就是一个模块
,模块的内部数据是私有的,不过模块可以暴露内部数据以使其他模块使用
提示:以下是本篇文章正文内容,下面案例可供参考
一、模块化的好处
防止命名冲突、高复用性、高维护性
二、暴露模块
(1)该方法可以暴露任意数据
module.exports=value
(2)
exports.name=value
三、导入模块
1、用法
(1)在模块中使用require传入文件路径即可引入文件
const test=require('./test.js');
(2)如果导入其他类型的文件,会以js文件进行处理
(3)如果导入的路径是个文件夹,则会首先检测该文件夹下package.json文件中main属性对应得文件,如果存在则导入,反之如果文件不存在会报错
如果main属性不存在,或者package.json不存在,则会尝试导入文件夹下的index.js和index.json,如果还是没有找到,就会报错
2、导入模块的基本流程
(1)将相对路径转为绝对路径,定位目标文件
(2)缓存检测
(3)读取目标文件代码
(4)包裹为一个函数并执行。通过arguments.callee.toString()查看自执行函数
(5)缓存模块的值
(6)返回module.exports的值