2016/12/22

关于node的一些基本概念

  • process: 该对象表示Node所处的当前进程,允许开发者与该进程互动。
  • global: 表示Node所在的全局环境,类似于浏览器的window对象。需要注意的是,如果在浏览器中声明一个全局变量,实际上是声明了一个全局对象的属性,比如 var x = 1 等同于设置 window.x = 1 ,但是Node不是这样,至少在模块中不是这样(REPL环境的行为与浏览器一致)。在模块文件中,声明var x = 1 ,该变量不是global对象的属性,global.x等于undefined。这是因为模块的全局变量都是该模块私有的,其他模块无法取到。
  • __filename: 指向当前运行的脚本文件名。
  • __dirname: 指向当前运行的脚本所在的目录。
  • Buffer():用于操作二进制数据。

核心模块

  • http: 提供HTTP服务器功能。
  • url:解析url。
  • fs: fileSystem,与文件系统交互。
  • querystring: 解析url的查询字符串。
  • util:提供一些实用的小工具。
  • path:提供路径处理。
  • child_process:新建子进程。
  • crypto:提供加密和解密功能,基本上是对OpenSSL的包装。

上面这些核心模块,源码都在Node的lib子目录中。为了提高运行速度,它们安装时都会被编译成二进制文件。

核心模块总是最优先加载的。如果你自己写了一个HTTP模块,require('http')加载的还是核心模块。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,347评论 19 139
  • Node.js是目前非常火热的技术,但是它的诞生经历却很奇特。 众所周知,在Netscape设计出JavaScri...
    w_zhuan阅读 8,962评论 2 41
  • https://nodejs.org/api/documentation.html 工具模块 Assert 测试 ...
    KeKeMars阅读 11,501评论 0 6
  • Node.js是目前非常火热的技术,但是它的诞生经历却很奇特。 众所周知,在Netscape设计出JavaScri...
    Myselfyan阅读 9,518评论 2 58
  • 过去了很久吧,终于下定决心,去一趟传说中的彩云之南,感受些许不同的民族气息,看看传说中的艳遇之都-丽江。出...
    黑与白对与错阅读 3,707评论 0 1