固始网站建设公司,做网站代理需要办什么营业执照,天猫与京东的网站建设管理,网站权重分散Node.js模块化
一、介绍
1.1 什么是模块化与模块
将一个复杂的程序文件依据一定规则(规范)拆分成多个文件的过程称之为模块化
其中拆分出的每个文件就是一个模块#xff0c;模块的内部数据都是私有的#xff0c;不过模块可以暴露内部数据以便其他模块使用
1.2 什么是模块…Node.js模块化
一、介绍
1.1 什么是模块化与模块
将一个复杂的程序文件依据一定规则(规范)拆分成多个文件的过程称之为模块化
其中拆分出的每个文件就是一个模块模块的内部数据都是私有的不过模块可以暴露内部数据以便其他模块使用
1.2 什么是模块化项目
编码时是按照模块一个一个编码的整个项目就是一个模块化的项目
1.3 模块化好处
下面是模块化的一些好处
防止命名冲突高复用性高维护性
二、模块暴露数据
2.1 模块初体验
创建me.js
// 声明函数
function timeo(){console.log(...)
}
// 暴露数据
module.exports tiemo创建index.js
// 导入模块
const tiemo require(./me.js)
// 调用函数
tiemo()2.2 暴露数据
模块暴露数据的方式有两种
module.exports valueexports.name value
使用时有几点注意
module.exports可以暴露任意数据不能使用 exports value 的形式暴露数据模块内部module与exports的隐式关系exports module.exports {}require返回的是目标模块中module.exports的值
三、导入引入模块
在模块中使用require传入文件路径即可引入文件
const test require(./me.js)
require使用的一些注意事项 对于自己创建的模块导入时路径建议写相对路径且不能省略./和../ js和json文件导入时可以不用写后缀c/c编写的node扩展文件也可以不写后缀但是一般用不到 如果导入其他类型的文件会以js文件进行处理 如果导入的路径是个文件夹则会首先检测该文件下package.json文件中main属性对应的文件 如果存在则导入反之不存在就会报错 如果mian属性不存在或者package.json不存在则会尝试导入文件夹下的index.js和index.json 如果还是没找到就报错 导入node.js内置模块时直接require模块的名字即可无需加./和../
四、导入模块的基本流程
这里我们介绍一下require导入自定义模块的基本流程
将相对路径转为绝对路径定位目标文件缓存检测读取目标文件代码包裹为一个函数并执行自执行函数。通过arguents.callee.toString()查看自执行函数缓存模块的值返回module.exports的值
五、CommonJS规范
module.exports、exports以及require这些都是CommonJS模块化规范中的内容。
而Node.js是实现了CommonJS模块化规范二者关系有点像JavaScript与ECMAScript