首页 >web前端 >前端问答 >nodejs中什么是模块化

nodejs中什么是模块化

WBOY
WBOY原创
2022-06-29 15:42:081936浏览

在nodejs中,模块化是指把一个大文件拆分成独立并且相互依赖的多个小模块,将每个js文件被认为单独的一个模块;模块之间是互相不可见的,如果一个模块需要使用另一个模块,则需要使用指定的语法来引入模块,并且只能引入模块所暴露的内容,语法为“const 变量名 = require('模块的路径');”。

nodejs中什么是模块化

本文操作环境:Windows10系统、nodejs 12.19.0版、Dell G3电脑。

nodejs中什么是模块化

概念

背景:在团队协作中,不同成员会独立写自己负责的代码,比如A负责a.js,B 负责b.js. 如果a.js和b.js定义了同一个变量,那么在使用该两个文件时,会导致变量同名而报错的情况。即全局变量污染。解决->nodejs模块化

概念:nodejs中的模块化是指将每个js文件会被认为单独一个的模块。模块之间是互相不可见的。如果一个模块需要使用另一个模块,那么需要通过指定语法来引入要使用的模块,而且只能使用引入模块所暴露的内容。

模块化就是遵守固定的规则,把一个大文件拆分成独立并且相互依赖的多个小模块.通俗来讲就是一个js文件可以使用另一个js文件中的数据.

语法:包括引入和暴露

引入模块

const 变量名 = require('模块的路径');

暴露语法(以下语法2选1)

模块内部:

1、多次暴露
module.exports.属性名1 = 数据1;
module.exports.属性名2= 数据2;
2、一次性暴露完
module.exports ={
    属性名1:数据1,
    属性名:2数据2,
}

模块路径细节

  • ./:当前目录

  • ../:当前目录的上一级目录

  • ./下一级目录/

  • 引入模块时可以省略.js后缀

  • 引入nodejs本身模块或npm下载的包时,不用写路径,直接写模块名

1、引入上一级目录下的a.js模块
let 变量名= require('./../a');
2、引入下一级目录routes下的b.js模块
let 变量名= require('./routes/b');
3、引入npm下载的jQuery模块
let 变量名= require('jquery');

扩展知识:

模块化有什么好处?

1.可以提高代码的复用性

2.可以提高代码的可维护性

3.可以实现按需加载(学习vue时会十分明显)

模块化的产生也带来了模块作用域,同函数作用域相似,在自定义模块中定义的变量.方法等,只能在当前作用域内被访问,这种访问限制,有效的解决了变量污染的问题.

推荐学习:《nodejs视频教程

以上是nodejs中什么是模块化的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn