NodeJS入门——模块

写在前面

众所周知,node应用是由模块组成的;而nodejs的模块分为三大类——全局模块、系统模块和自定义模块。

NodeJS遵循CommonJS模块规范,翻译成人话就是:

模块必须用module.exports导出(暴露)想要被外界获取的内容(比如变量或函数,当然其他的比如class之类的也是可以的);必须通过require() 来导入其他模块导出的内容。

CommonJS模块有以下特点:

  • 所有代码都运行在自己的模块作用域中,不会污染全局作用域。
  • 模块加载的顺序取决于它们在代码中出现的顺序。
  • 模块可以多次加载,但只在第一次加载时运行一次,然后运行结果就会被缓存下来;后续的加载都会直接读取缓存结果,如果想要再次运行,就必须要清除相应的缓存。

全局模块(也称全局对象)

定义

何时何地都可以访问,不需要引用。

node中有一个全局对象global,是node中最大的一个对象,相当于浏览器中的window对象,global中的成员在使用时,可以省略global ,以下是常用的一些全局变量:

  • console,打印
  • process,和进程相关的对象
  • setInterval,同理,也是node中的,不是浏览器中的
  • require(),它是全局对象global中的一个方法,用于在js文件中引入另外的文件
  • __dirname,当前执行文件的绝对路径(在js文件中使用)
  • __filename,当前执行文件的绝对路径,包含文件名(在js文件中使用)

系统模块

定义

需要用require()引入,但是不需要单独下载,是node内置的模块。

许多核心常用操作都通过引入系统模块来完成;最常用的系统模块有:

  • path模块:处理路径的模块
  • fs模块:文件操作模块
  • http模块:http服务器处理模块,可以使用http模块搭建服务器

自定义模块

定义

自己写或者自己下载一个模块,然后通过require()引入。

require的引入顺序(优先级)

  1. 如果括号中包含了路径,就去找对应的路径;
  2. 如果没有包含路径,默认会去node_module文件里找;
  3. 如果1和2都没找到,就会去node安装目录下找。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值