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 芒果数据库。

  • 相关阅读:
    不用写代码的框架
    bat执行python脚本,执行多条命令
    VMware-workstation-full-15.1.0-13591040安装破解-附件密钥
    w10谷歌chrome关闭自动更新
    谷歌安装提示已经安装高版本解决
    python项目三方库导出导入 requirements.txt文件
    点阴影
    goto gamedev blog
    20135315-信息安全系统设计基础第五周学习总结
    win10 +python3.6环境下安装opencv以及pycharm导入cv2有问题的解决办法
  • 原文地址:https://www.cnblogs.com/yanchuan/p/6283649.html
Copyright © 2011-2022 走看看