文章目录
- 1.模块化
- 1.1模块化介绍
- 1.2模块化初体验
- 1.3模块暴露数据(🔺)
- 1.4引入(导入)模块
1.模块化
1.1模块化介绍
⭐什么是模块化与模块?
将一个复杂的程序文件依据一定规则(规范)拆分成多个文件的过程称之为模块化。
其中拆分出的每个文件就是一个模块,模块的内部数据是私有的,不过模块可以暴露内部数据以便其他模块使用。
⭐什么是模块化项目?
编码时是按照模块一个一个编码的,整个项目就是一个模块化的项目。
⭐模块化好处
下面是模块化的一些好处:
1.防止名命冲突
2.高复用性
3.高维护性
1.2模块化初体验
新建me.js
function timeo(){console.log('ing...');
}// 暴露数据
module.exports = timeo;
在index.js中使用me.js中的函数:
// 导入模块
const timeo = require('./me.js');// 调用函数
timeo();
1.3模块暴露数据(🔺)
模块暴露数据的方式有两种:
1.module.exports = value;
2.exports.name = value;
❗❗❗
module.exports可以暴露任意数据
不能使用exports=value的形式暴露数据,模块内部module与exports的隐式关系exports= module.exports={}
function timeo(){console.log('ing...');
}
function nie(){console.log('hello...')
}
// 暴露数据
// module.exports = timeo;
// module.exports = {
// timeo,
// nie
// }// exports暴露数据
exports.timeo = timeo;
exports.nie = nie;// module.exports可以暴露任意数据
module.exports = 'i love you';
module.exports = 521;// 2.不能使用`exports = value`的形式暴露数据
// exports = 'iloveyou'//❌
1.4引入(导入)模块
在模块中使用require传入文件路径即可引入文件
const test = require('./me.js')
require使用的一些注意事项:
- 1.对于自己创建的模块,导入时路径建议写相对路径,且不能省略./和…/
- 2.js和json文件导入时可以不用写后缀,c/c++编写的node拓展名也可以不写后缀,但是一般用不到。
- 3.如果导入其他类型的文件,会以js文件进行处理。
- 4.如果导入的路径是个文件夹,则会首先检测该文件夹下package.json文件中main属性对应的文件,如果