zoukankan      html  css  js  c++  java
  • NodeJs初步了解

    一.Node.js简介

    在介绍之前,先说下后台语言和前台语言的三点不同:

    运行地点(运行在服务器,后台语言一般需要编译成字节码)、运行环境(后台语言需要运行服务区如IIS/tomcat。。前台语言浏览器就足够了)、运行时间(后台语言,收到http上行请求之后运行,然后发出下行响应;而前台语言是在客户端接收到下行响应之后才在客户端电脑执行)

    而Node.js是一个可以让JavaScript运行在服务器端的平台,使用V8内核。

    什么意思呢?就是说,JavaScript是一个典型的前台语言,在客户电脑中运行。但是2009年, Ryan Dahl 将Chrome浏览器中的V8内核(非常快速的JS引擎),移植到了服务器上,这样就等于说,可以用JS的语法,来开发服务器程序了。

    但是,Node.js也有一些特点:

    ● 非阻塞I/O

    ● 事件驱动

    什么是阻塞?线程在执行中遇到了磁盘读写操作,比如读取一个数据、文件、都叫做I/O. 那么I/O需要花费时间,所以这时操作系统就会剥夺这个线程的CPU控制权,所以这个线程就被阻塞了,后面的语句无法执行。当I/O结束之后,操作系统就会把这个线程的阻塞状态解除,继续后面语句,这种模式就叫做阻塞I/O.

    非阻塞I/O,就是不阻塞读取文件。但有一个I/O语句的时候,那么此时只是将这个命令发送给操作系统,而进程将继续执行后面的语句,不被阻塞。当操作系统完成I/O操作的时候,将会以事件的方式,通知这个线程,线程将执行回调函数里面的语句。

    所以,Node.js就是服务端语言中的一朵奇葩,采用单线程,非阻塞I/O模式,这就决定了他不适合做计算量大,逻辑较为复杂的程序。

    Node.Js适合的类型有

    ● 数据密集型

    投票、考试、站内信、问答社区……

    这些系统,都需要大量的读取数据、文件

    ● 实时交互应用程序

    聊天、股票、图文直播、你画我猜…

    和HTML5的web socket就搭配的特别好

    二.Hello World

    Node.js非常好部署,无论是windows还是linux。

    https://nodejs.org/download/  从这个网站下载。

    三.Express.js

     express和Jquery一样,用来简化Node.js的编程方式

    http://www.expressjs.com.cn/

    npm就是包管理器,可以通过npm命令,非常方便的下载别人的包。

    四.NoSQL

    非关系型数据库,没有行、列的概念。用JSON形式的格式,来存储数据。

    https://www.mongodb.com/

    mongo 芒果数据库。

  • 相关阅读:
    CodeDOM浅析(上)
    这段代码居然运行正常
    CodeDOM浅析(下)
    动态生成与编译(七)根据CodeDOM生成源代码
    动态生成与编译(九)CodeDOM的局限
    动态生成与编译(八)动态编译
    新年送大礼
    祝所有的女性朋友们节日快乐!
    预测人民币在2006年最终的收盘价
    2007年春节,祝朋友们:身体健康,万事如意! 度过一个愉快春节!
  • 原文地址:https://www.cnblogs.com/yanchuan/p/6283649.html
Copyright © 2011-2022 走看看