当前位置: 首页 > 后端技术 > Node.js

nodeJs入门(第二课)

时间:2023-04-03 11:32:47 Node.js

一、CommonJs规范说到commonjs规范,为什么会出现这个东西?这就不得不说ECAMAScript的缺陷了,那么有哪些缺陷呢,具体如下:1.没有模块系统2.标准库少3.没有标准接口4.缺少模块化管理系统1.如果程序设计的规模达到一个一定程度,就必须模块化。2、模块化可以有多种形式,但至少应该提供一种可以将代码拆分成多个源文件的机制。3、CommonJs的模块功能可以帮我们解决这个问题。CommonJs规范1、commonJs规范的提出主要是为了弥补Javascript没有标准的缺陷。2、commonJs规范为Js规定了一个美好的愿景,希望js可以在任何地方使用。3、commonJs中模块的定义非常简单。模块引用模块定义模块标识模块定义模块引用。这时候如何验证我的模块1是否已经引入成功呢?我是不是执行了模块2的代码,看是否执行了模块1?这时候,作为一个初学者,我觉得这个介绍没有意义,为什么呢?因为这相当于执行了模块1,我觉得一定不是这样的。一定是模块1中定义的变量或者方法,在模块2中使用才有意义。那我们在模块1中,这样摆弄两个变量,看看行不行?实践出真知,走起!module01.js:module02.js:天啊!他妈的!!!!白介绍道。事实上,在Node.js中并非如此。梅姐不是这样的。使用require()导入模块后,该函数会返回一个对象,代表导入的模块module02.js哦,这怎么这么穷白,我在模块1定义的变量呢??怎么做?烦了,兄弟你别烦了,还有一个知识点要跟你说。在Nodejs中,每个js文件中的js代码都是在一个函数中独立运行的,所以是全局不可见的,所以不在全局范围内,所以一个模块中的变量和函数是无法在其他模块中访问到的。然后大家在一个封闭的环境里玩,模块之间就不用玩了,干什么干什么,我需要我的模块对外暴露属性或者方法。我们可以通过exports[作为全局变量]将变量或方法暴露给外部。使用方法:将需要对外暴露的变量和方法设置为exportsmodule01.jsmodule02.js的属性即可运行结果:好了好了,成功了!!!模块表示当我们使用require()引入外部模块时,我们使用模块的标识符,我们可以通过模块的标识符找到指定的模块。模块分为两类:核心模块:节点引擎提供的模块。核心模块的标识还是路径?其实可以是模块文件名module:用户自己创建的模块。文件模块的标识就是我们定义模块的路径,可以是相对路径也可以是绝对路径。学完了还得去实践,干起来吧!!!定义:导入:执行结果:完成!!!!!!足不出户,可至千里!!!