梧秋的博客

一声梧叶一声秋

node.js知识点一

Node.js

  • node是一款对ES标准实现的JS引擎
  • 通过node可以使js在服务器中运行
  • node就是一款使用js编写的web服务器
  • node底层是使用c++的编写的
  • node的中js引擎使用的chrome的v8引擎
  • node的特点:
    1.非阻塞、异步的I/O
    2.事件和回调函数
    3.单线程(主线程单线程,后台I/O线程池)
    4.跨平台

  • 模块化(降低耦合性、方便代码复用)

    • ES5中没有原生支持模块化,我们只能通过script标签引入js文件来实现模块化
    • 在node中为了对模块管理,引入了CommonJS规范

    • 模块的引用

    • 使用 require()函数来引入一个模块

      • 例子:
        var 变量 = require(“模块的标识”);
    • 模块的定义

      • 在node中一个js文件就是一个模块
      • 默认情况下在js文件中编写的内容,都是运行在一个独立的函数中,外部的模块无法访问
    • 导出变量和函数

      • 使用 exports

        • 例子:
          exports.属性 = 属性值;
          exports.方法 = 函数;
      • 使用module.exports

        • 例子:
          module.exports.属性 = 属性值;
          module.exports.方法 = 函数;
          module.exports = {};
      • 模块的标识

        • 模块的标识就是模块的名字或路径
          我们node通过模块的标识来寻找模块的
          对于核心模块(npm中下载的模块),直接使用模块的名字对其进行引入
          var fs = require(“fs”);
          var express = require(“express”);

          对于自定义的文件模块,需要通过文件的路径来对模块进行引入
          路径可以是绝对路径,如果是相对路径必须以./或 ../开头
          var router = require(“./router”);

  • Node仅仅对ES标准进行了实现,所以在Node中不包含DOM 和 BOM

    • Node中可以使用所有的内建对象
      String Number Boolean Math Date RegExp Function Object Array
      而BOM和DOM都不能使用
      但是可以使用 console 也可以使用定时器(setTimeout() setInterval())

    • Node可以在后台来编写服务器
      Node编写服务器都是单线程的服务器

      • 进程
        • 进程就是一个一个的工作计划(工厂中的车间)
        • 进程负责为程序的运行提供必备的环境
      • 线程
        • 线程是计算机最小的计算单位,线程负责执行进程中的程序,线程是干活的
          -线程相当于工厂中的工人
    • 传统的服务器都是多线程的

      • 每进来一个请求,就创建一个线程去处理请求
    • Node的服务器单线程的

      • Node处理请求时是单线程,但是在后台拥有一个I/O线程池
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27928585/article/details/79944950
个人分类: Node.js
上一篇使用github免费搭建个人博客后的上传方法
下一篇node.js知识点二(Buffer)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭