• Nodejs入门(一)


    一、Nodejs介绍

    1、nodejs是ecmascript的runtime

    2、nodejs使用了event-driven(事件驱动)non-blocking I/O model(无阻塞的io模型)

    • 非阻塞:I/O时函数立即返回,进程不等I/O完成
    • event-driven:Nodejs靠事件进行驱动

    3、cpu密集 vs I/O密集

    • cpu密集:压缩、解压、加密、解密
    • I/O密集:文件操作、网络操作、数据库

    因为JS操作是I/O密集,所以Nodejs是JS在serves上面的runtime

    4、高并发应对之道

    • 增加机器数
    • 增加每台机器的cpu数

    5、Nodejs单线程

    • 单线程只针对主进程,I/O操作系统底层多线程调度(Nodejs自己是单线程,但它有一部分任务交给操作系统自己去做多线程)
    • 单线程不是单进程

    6、Nodejs应用场景

    • Web Server
    • 本地代码构建(编译之类)

    二、Nodejs开发环境与调试工具

    1、环境

    • CommonJS 规范
    • global 对象(类似于js里面的window对象)
    • process 当前执行的进程

    2、CommonJS规范

    • 每个文件都是一个模块,都有自己的作用域
    • 在模块内部module变量代表模块本身
    • module.exports属性代表模块对外接口(将模块的一些东西输出)
    • require规则
      • / 表示绝对路径,. / 表示相对于当前文件的
      • 支持js、json、node的拓展名
    • require特性
      • module被加载的时候会执行一遍,并进行缓存,第二次直接用缓存里面的结果
      • 当一个模块被循环加载(a依赖b,然后b又依赖a),那么只会输出已经执行的部分(a执行在b依赖a之前a该执行的部分)

    3、global全局对象

    • CommonJS
    • Buffer、process、console
    • timer
  • 相关阅读:
    修复grub引导Centos8和Windows
    少儿编程到底学什么?
    Windows平台最方便最易用的法语输入法
    ServiceStack.OrmLite 入门(一)
    起步:Proteus 8 仿真 Arduino 1.8.2
    命令行方式登录PostgreSQL
    CentOS 7 安装 PostgreSQL
    Twitter开源的Heron快速安装部署教程
    centos7下使用yum安装mysql
    [转]centos7 下安装MongoDB
  • 原文地址:https://www.cnblogs.com/firefish1/p/9566140.html
Copyright © 2020-2023  润新知