美文网首页
node 模块

node 模块

作者: lixingyang | 来源:发表于2020-03-11 15:40 被阅读0次

node中的全局对象

process,buffer
process.cwd() process.nextTick process.pid process.argv commander process.env 环境变量
require,exports,module,__filename,__dirname (可以直接在模块内部被访问)

node中的事件环

    ┌───────────────────────┐
┌─> │        timers         │ 本阶段执行setTimeout() 和 setInterval() 
│   └──────────┬────────────┘
│   ┌──────────┴────────────┐
│   │     I/O callbacks     │ 这个阶段执行一些诸如TCP错误之类的系统操作的回调
│   └──────────┬────────────┘
│   ┌──────────┴────────────┐
│   │     idle, prepare     │ 只内部使用
│   └──────────┬────────────┘      ┌───────────────┐
│   ┌──────────┴────────────┐      │   incoming:   │
│   │         poll          │  <───┤  connections, │ 获取新的 I/O 事件,查找已经到时的定时器
│   └──────────┬────────────┘      │   data, etc.  │
│   ┌──────────┴────────────┐      └───────────────┘
│   │        check          │ setImmediate()
│   └──────────┬────────────┘
│   ┌──────────┴────────────┐
└──-┤    close callbacks    │ 关闭事件的回调 socket.close事件
    └──────────────────────—┘
async function async1(){
    console.log('async1 start')
    await async2()
    console.log('async1 end')
}
async function async2(){
    console.log('async2')
}
console.log('script start')
setTimeout(function(){
    console.log('setTimeout') 
},0)  
async1();
new Promise(function(resolve){
    console.log('promise1')
    resolve();
}).then(function(){
    console.log('promise2')
})
console.log('script end')

node中的模块

  • 模块分类 ES6module,commonjs规范 amd,cmd,umd
  • commonjs规范
    • 一个文件就是一个模块
    • 如果模块想给别人使用 module.exports / exports 同一个对象但是最终导出的是module.exports
    • 如果想使用这个模块 require (同步读取文件,包一个自执行函数,vm.runInthisContext,传入export对象,最终返回的是exports 对象,所以就可以拿到其他模块的内容)
  • 模块的查找规范
    • 第三方模块 module.paths
    • 如果文件和文件夹重名 先取文件,文件不能取到,找文件夹 package.json => main => index.js

相关文章

  • 01-Node 基础使用

    Node 基础使用Node 介绍Node 模块化开发模块成员的导出模块成员的导入Node 系统模块 path 和 ...

  • node模块载入机制

    node内模块以及载入顺序为: 内置模块 文件模块 文件目录模块 node_modules模块 内置模块 http...

  • Koa系列1:Koa中使用mysql模块操作数据库

    安装 node.js的mysql模块 1.模块介绍 mysql模块是node操作MySQL的引擎,可以在node....

  • Node.js 核心模块概述

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

  • 2018-08-20第五天课

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

  • 关于node.js一些模块的记录「FS模块」

    目录 Node.JS教程 FS模块 Path模块 FS模块 Path模块 Node.js path 模块提供了一些...

  • 04-文件读写

    fs模块---》操作文件---》io----》node的特长 fs模块是node非常重要的模块,能体现出node的...

  • node工具模块

    Node.js工具模块node工具模块分为OS,Path, Net, DNS, Domain模块 OS 字节顺序 ...

  • Node.js基础-模块

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

  • Node模块原理0926

    Node模块原理 1.node模块原理分析 js代码 2.node模块加载分析(多看几遍视频) 3.自己实现一下(...

网友评论

      本文标题:node 模块

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