美文网首页
node核心模块

node核心模块

作者: renxiaoyao09 | 来源:发表于2020-03-27 13:49 被阅读0次

1、全局对象

JavaScript中有一个特殊的对象,称为全局对象(Global Object),它及其所有属性都可以在程序的任何地方访问,即全局变量。在浏览器JavaScript中,通常window是全局对象,而NodeJs中的全局对象是global,所有全局变量(除了global本身以外)都是global对象的属性。

process

process是一个全局变量,即global对象的属性。它用于描述当前NodeJs进程状态的对象,提供了一个与操作系统的简单接口。

  • process.argv是命令行参数数组,第一个元素是node,第二个元素是脚本文件名,从第三个元素开始每个元素是一个运行参数。
  • process.stdout是标准输出流,通常我们使用的console.log()向标准输出打印字符,而process.stdout.write()函数提供了更底层的接口。
  • process.stdin是标准输入流,初始时它是被暂停的,要想从标准输入读取数据,你必须恢复流,并手动编写流的事件响应函数。
  • process.nextTick(callback)的功能是为事件循环设置一项任务,NodeJs会在下次事件循环调响应时调用callback。
// debug.js
console.log(process.argv);
process.stdin.resume();
process.stdin.on("data", function (data) {
    process.stdout.write(data.toString());
});

__dirname是node.js中的一个全局变量,它指向当前执行脚本所在的目录。

2、常用工具util

util是一个Node.js核心模块,提供常用函数的集合。

util.inherits

  • util.inherits(constructor, superConstructor)是一个实现对象间原型继承的函数。

util.inspect

  • util.inspect(object,[showHidden],[depth],[colors])是一个将任意对象转换为字符串的方法,通常用于调试和错误输出。它至少接受一个参数object,即要转换的对象。

util还提供了util.isArray()、util.isRegExp()、util.isDate()、util.isError()四个类型测试工具,以及util.format()、util.debug()等工具。
参考:NodeJs核心模块

3、Events模块

var EventEmitter = require('events').EventEmitter;     // 引入事件模块
var event = new EventEmitter();     // 实例化事件模块
// 注册事件(customer_event)
event.on('customer_event', function() {
    console.log('customer_event has be occured : ' + new Date());
});
event.emit('customer_event');     // 发射(触发)事件

参考:nodejs笔记3(EventEmitter)

4、fs文件系统模块

地址:node的fs模块api总结

5、Http 模块

http 模块主要用于搭建 http 服务,处理用户请求信息等

使用 http 请求

const http = require('http');
// 使用发送http请求
const options = {
  protocol: 'http:',
  hostname: 'www.baidu.com',
  port: '80',
  method: 'GET',
  path: '/img/baidu_85beaf5496f291521eb75ba38eacbd87.svg'
};
let responseData = '';
const request = http.request(options, response => {
  console.log(response.statusCode); // 获取链接请求的状态码
  response.setEncoding('utf8');
  response.on('data', chunk => {
    responseData += chunk;
  });
  response.on('end', () => {
    console.log(responseData);
  });
});
request.on('error', error => {
  console.log(error);
});
request.end();

使用 http 创建服务

// 使用http创建服务器
const port = 3000;
const host = '127.0.0.1';
const server = http.createServer();
server.on('request', (request, response) => {
  response.writeHead(200, {
    'Content-Type': 'text/plain'
  });
  response.end('Hello World\n');
});
server.listen(port, host, () => {
  console.log(`Server running at http://${host}:${port}/`);
});

5、child_process模块

相关文章

  • Node.js基础-模块

    Node中的JavaScript ECMAScript 核心模块 第三方模块 用户自定义模块 核心模块 Node为...

  • 2018-08-20第五天课

    内置模块 => 直接使用 Node 提供好的核心模块 Event 事件模块事件模块是整个 Node.js ...

  • Node之模块与npm包管理器

    核心模块与文件模块 在Node.js中,以模块为单位划分所有功能。核心模块为Node内置模块,还有一些第三方的模块...

  • Node.js 核心模块概述

    模块加载原理与加载方式 Node 中的模块:核心模块/原生模块:Node提供的模块。文件模块:用户编写的模块。 N...

  • Nodejs学习第8天

    Events - events模块是Node.js的核心模块、核心API之一,它是Node.js事件驱动模型的核...

  • 那些年成为node攻城狮的路(二)

    模块加载机制浅析 node中模块分为核心模块和文件模块两大类,核心模块诸如fs、http、util...,文件模块...

  • node核心模块

    1.http --- 网络请求 var http = require("http"); var se...

  • node核心模块

    1、全局对象 JavaScript中有一个特殊的对象,称为全局对象(Global Object),它及其所有属性都...

  • Node核心模块

    buffer 无需引用,node内置 parseInt('f', 16)结果为15 Buffer.alloc(5)...

  • node核心模块

    Node的核心模块 util.promisify 将普通的回调函数,转换成promise函数 但必须是规范的Nod...

网友评论

      本文标题:node核心模块

      本文链接:https://www.haomeiwen.com/subject/yqyluhtx.html