美文网首页
第一节 初识node

第一节 初识node

作者: 张金宇 | 来源:发表于2016-09-14 08:47 被阅读0次

一.认识Node

1.什么是Node

Node的名称
  • Nodejs,NodeJS,Node.js等.本课程遵循官方说法Node

  • Node是javascript语言的服务器运行环境
    所谓运行环境有两层意思:
    1.javascript语言通过Node在服务器上运行,就好像Node是javascript的虚拟机.
    2.Node提供大量的工具库,使javascript与操作系统可以互动,Node是javascript的工具库.

  • Node内部采用Google公司的V8引擎,作为JavaScript语言解释器,执行JavaScript的速度非常快,性能非常好.

2.Node的诞生

3.为什么要学习Node

  • 很火
  • Linkedln(国外的社交网站)移动版from ROR to Node,base on Joyent
  • 著名的支付公司Paypal From Java to Node.js
  • 国内的网易公司,推出的开源服务器框架Pomelo
  • 知乎的推送
  • 阿里的天猫的业务
  • UBER ,优步中国也是用node来创建的
  • 很强
  • 有很多知名度很高的开源项目都是node如:Express,PM2,CoffeeScript,socket.io
  • 应用领域广
  • RESTful API 主要的数据获取方式
  • 实时通信 服务器和浏览器的消息的推送
  • 高并发 node是单进程就可以承载大量的请求
  • I/O阻塞 JavaScript的事件和异步可以协调I/O阻塞

二.Node与javascript

1.Node为什么选择JavaScript

  • 高性能:通过事件驱动,非阻塞I/O达到高性能
  • 符合事件驱动: JavaScript天生就是事件驱动,支持异步操作
  • 没有历史包袱:JavaScript的门槛低,历史包袱少.

2.Node给JavaScript带来的意义

Node打破了JavaScript只能在浏览器中运行的局面,前后端环境统一,大大降低前后端转换所需的上下文交换代价

三.Node的特点

1.Node的特点及缺点

  • 特点
  • 环境部署简单
  • 注重约定
  • 基于事件
  • 异步编程
  • 高效与性能
  • 单线程与多进程
  • 子进程
  • 多进程
  • 缺点
  • 大量采用匿名函数,使得抛出的异常不易阅读
    给匿名函数命名是很好的习惯,匿名函数可以使代码更简洁,但是出错后的提示非常难以研读.
  • try/catch 限于同步代码,使得异常铺货较为复杂
    try/catch是无法处理回调函数的,换句话说只能捕获同步代码的错误.如果是异步代码,
    就需要在异步代码内部做异常的判断,但是异步处理不使用try/catch,一般和回调函数搭配使用
    而且Node规定,回调函数的第一个参数,为异步的错误对象.
    总结:同步代码使用try/catch来处理错误,
    异步代码使用错误标志参数来进行异步的处理.
  • 单线程可靠性问题
    单线程最大的好处就是:存在不同线程之间的资源的调动性,最大的问题就是可靠性.
    当一个单线程在运行中发生了错误,而错误并没有获取到,这时候问题就出现了;
    执行同步错误的时候被阻塞了,单线程是无能为力的.为了避免这种情况的发生,
    需要注意以下几个方面:1.代码一定要严谨 2.尽量避免使用同步代码 3.使用多进程工具
  • 不适合cpu密集型的场景
    比如:事情的处理,纯粹的运算.
  • 回调代码习惯影响阅读

2.推荐Node学习的网站

  • node官网 nodejs.org
  • 程序员社区 gitHub.com

相关文章

  • 第一节 初识node

    一.认识Node 1.什么是Node Node的名称 Nodejs,NodeJS,Node.js等.本课程遵循官方...

  • 初识node

    Node 基础 浏览器工作原理(Node优势):事件驱动(事件轮询)和非阻塞IO处理(异步IO)传统服务器是同步I...

  • 初识 node

    Node.js是以Google V8 JavaScript引擎为基础的服务器端技术,简单的说就是运行在服务端的Ja...

  • 初识node

    1、nodeJS的特点 单线程:好处:是减少了内存开销;缺点:就是一个用户造成了线程的崩溃,整个服务都崩溃了,其他...

  • 初识node

    process.cwd(); 查看当前目录process.chdir('目录'); ...

  • Node初识

    最近出于兴趣,开始接触前端开发的相关知识。作为前端开发应用最广泛的语言,我目前接触到的就是JavaScript。在...

  • 初识 Node

    什么是 Node? 简单来说 Node.js 就是运行在服务器端的 Javascript . Node 应用组成?...

  • node学习笔记

    node.js 介绍 node.js初识 node.js 平台是基于 Chrome V8 JavaScript 引...

  • node 学习笔记.md

    Node.js第一天 1. 初识Node.js 1.1 Node.js是什么 Node.js® is a Java...

  • AJAX,node初识

    AJAX ajax是一种技术方案,但并不是一种新技术。它依赖的是现有的CSS/HTML/Javascript,而其...

网友评论

      本文标题:第一节 初识node

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