node.js快速入门笔记二:node之模块

一、何为模块?

个人认为node.js中的模块就是实现某一组功能的组件,类似于PHP的一个扩展包(如gd库扩展)。在node.js中,每个独立的文件都可认为它是一个模块,我们在使用一个模块前,需要先使用require加载它。

如我们使用文件系统模块:

  1. var fs = require('fs');

二、如何使用模块?

1、使用模块(调用模块)

在官方有详细的各模块API:https://nodejs.org/api/

在使用模块前,需要先加载它,我们通过require这个函数实现加载。

  1. var fs = require('fs');
  2. fs.rmdir('./test.txt', function(){
  3. console.log('delete test.txt succeed!');
  4. });
2、编写自定义模块
3、安装第三方模块

使用npm工具安装:(有人说npm对node来说,就如同pear对于php一样,个人感觉它比较像composer)

用法:npm install 模块名

如,安装supervisor这个工具模块,我们可能知道在node.js中,如果我们修改了某个文件,需要重新启动它,才能看到修改后的文件(这一点与php不太一样),而supervisor可以监控文件的改动,在监测到改动后会自动启动node.js,在开发中,这个工具是相当好用的。

  1. nmp install -g supervisor

扩展:npm的主要用法:

(1)增:安装
  • npm install 包名:安装模块到当前项目中

  • npm install -g 包名:安装模块到全局环境中

  • npm install 包名 —save :安装模块的同时把安装的模块的相关信息更新到package.json文件中

  • npm init :引导建立一个package.json文件

(2)删:移除包

npm remove 包名

(3)改:更新包

npm update 包名

(4)查
  • npm help:查看npm的用法

  • npm list:查看npm安装的包

  • npm root:安装包的安装路径

  • npm root -g:安装包的全局安装路径

三、node.js包含了哪些内置模块?

目前官方提供以下内置模块:

  • Assertion Testing 断言测试模块
  • Buffer 缓冲区模块
  • C/C++ Addons C/C++ 动态链接库模块
  • Child Processes 子进程模块
  • Cluster 集群模块
  • Console 控制台输出模块
  • Crypto 加密与算法模块
  • Debugger Debugger调试模块
  • DNS DNS模块
  • Domain 域名模块
  • Events 事件模块
  • File System 文件系统模块
  • Globals 全局对象模块
  • HTTP HTTP模块
  • HTTPS HTTPS模块
  • Modules Modules模块
  • Net 网络模块
  • OS 系统信息模块
  • Path 文件路径模块
  • Process 进程模块
  • Punycode 加解码模块
  • Query Strings 查询字符串解析模块
  • Readline 输入流模块
  • REPL 交互式解释器
  • Smalloc 内存分配
  • Stream 流模块
  • String Decoder 字符串解码
  • Timers 计时器模块
  • TLS/SSL TLS/SSL安全模块
  • TTY tty终端模块
  • UDP/Datagram UDP服务模块
  • URL URL处理模块
  • Utilities 通用工具模块
  • VM 沙盒环境模块(过VM,JS可以被编译后立即执行或者编译保存下来稍后执行)
  • ZLIB ZLIB压缩模块