nodejs学习第一天之模块

时间:2022-06-23 15:24:35

1.运行js文件

nodejs学习第一天之模块

2.node 与 js 的区别

相同:数据类型,语法结构,对象  等基本一致

不同:在js中的顶层对象window 在node中没有在node中 顶层对象为global对象 其不对外进行访问等等  在js中定义一个a变量是能够用window.a访问的 但在node中定义一个a变量是不能用global.a(会返回undefined)变量访问的

3.模块的概念

一个文件就是一个模块 每个模块都有自己的作用域

我们使用var来申明的一个变量,他并不是全局的而是属于当前模块下

nodejs学习第一天之模块

Console.log(__fillname)打印的是当前文件被解析过后的绝对路径;

Console.log(__dirname)打印的是当前模块文件所在目录的绝对路径,该属性不是全局的,而是模块作用域下的

3.1模块加载系统

在node中不允许用script标签加载模块  如果要加载模块使用require(‘模块路径’)

nodejs学习第一天之模块

其中路径./不带的话node会加载node中的核心模块

3.2node文件加载机制

1.首先按照加载的文件名进行查找

2.如果没有找到会在文件名后面加上.js的后缀进行查找

3.如果还没有找到会在文件名后面加上.json的后缀进行查找

4.如果还没有找到会在文件名后面加上.node进行查找

5.如果还没有找到会报错

4.如何在本模块访问另外一个模块定义的局部变量

  1.通过global变量添加 (不推荐使用)

  2.通过module(保存和提供一些和当前模块有关的一些信息)对象,module对象中有一个子对象:exports对象 我们可以通过这个对象把一个模块中的局部变量对象提供访问

  3.nodejs学习第一天之模块

  4.在模块作用域,还有一个模块的作用域对象,exports,它其实就是module.exprots

   nodejs学习第一天之模块

5.global下的对象

  1.progress对象:可以查看当前进程

   1.1progress对象下的最重要一个对象stdin、stdout标准输入输出流(IO)通常称为I/O操作  提供了操作输入数据和输出数据的方法

     nodejs学习第一天之模块

   1.2默认情况下,输入流是关闭的,要监听输入数据流,首先要开启输入流

     nodejs学习第一天之模块

  1.3简单的数据加减

     nodejs学习第一天之模块

本人这是第一次发博客,如果有写的不对的地方还请大牛们指正,以后还会不定期的更新关于nodejs的后续学习内容,有希望了解的或者是有独到见解的可以评论我