• Node介绍


    1. 相关概念

    • 什么是JavaScript

      • 一种遵守ECMAScript标准的脚本语言
      • 最初只能运行在浏览器端
    • 浏览器中的 JavaScript 可以做什么?

      • 操作DOM:表单验证、动画
      • 数据交互:ajax
      • 通常所指的 JavaScript :BOM + DOM (W3C)+ ECMAScript
    • JavaScript 只可以运行在浏览器中吗?

      • JavaScript 不仅仅能运行在浏览器中
      • JavaScript 还可以运行在服务器环境中,例如:node

      • JavaScript引擎

    浏览器JavaScript引擎
    Firefox SpiderMonkey
    IE Chakra
    Safari JavaScriptCore
    Chrome V8
    • 客户端和服务器

      面向用户的一端就是客户端

      从数据角度来说:客户端只负责界面交互,主动的发起 HTTP 请求,请求后台服务器,把数据渲染到界面。

      服务器提供的 HTTP 服务,接收 客户端的 HTTP 请求,然后处理 HTTP 请求, 最后把要发送给客户端的响应数据通过网络发送给客户端。

    2. 为什么要学习Nodejs

    • 什么是 Node.js

      Node.js 是一种建立在Google Chrome's V8 引擎上的non-blocking(非阻塞),event-driven(基于事件的)I/O平台
      Node.js平台使用的开发语言是JavaScript,平台提供了操作系统底层的API,方便做服务器端编程,
      具体包括:文件操作、进程操作、通信操作等系统模块,支持模块化的开发
      
      • Node.js官网:https://nodejs.org
      • Node.js 是一个构建与 Chrome 的 V8 JavaScript 引擎之上的一个 JavaScript 运行时环境
      • Node 可以用来解析和执行 JavaScript 代码(因为Node基于V8引擎)
      • Node 无法解析 DOM 和 BOM 等对象
      • Node 只关心数据部分,例如 读写文件,提供 Web 服务
      • Node 是 JavaScript 吗?

        Node 不是一种新的语言
        Node 是一个可以用来解析和执行 JavaScript 语言的一个环境或者说是一个平台
        Node 环境或者说平台 给 JavaScript 语言,提高了 一些 例如文件操作、网络操作等接口API
        
      • Node.js 的包管理系统 npm 是世界上最大的开源库生态系统

    • Node 的诞生历程

      • Node 的作者:Ryan Dahl
      • 2004年还在纽约读数学系博士
      • 2006年退学(世界那么大,我想去看看),生活所迫,选择了码农
      • 接项目、工作、旅行,两年之后,成为了高性能Web服务器的专家
      • 2009年5月,Ryan Dahl 在 github 上发布了最初的 Node 版本
      • 2010年底,Ryan Dahl 加入 Joyent 公司全职负责 Node 的发展
      • 2011年7月,Node 在微软的支持下发布了 Windows 版
      • 2012年1月底,Ryan Dahl 将掌门人身份转交给了 Isaac Z.Schlueter,自己转向一些研究项目
      • 2014年12月,多位重量级Node开发者不满 Joyent 对 Node 的管理,自立门户创建了 io.js
      • 2015年9月,Node 与 io.js 合并,Node 的版本从 0.12.7 直接升级到了 4.0.0
      • 合并后的 io.js 和 Node 在 Joyent 公司的维护下并行了两个版本:
        • 一个是4.x.x 还是原来的 Node,这个版本是稳定版
        • 一个是5.x.x,目前已经更新到了 6.6.0,其实就是 io,最新特性版,不建议生产环境使用
    • Node的特点
      • 事件驱动
      • 异步IO模型
      • 跨平台
    • 为什么要学习 Node
      • Node 打破了过去 JavaScript 只能在浏览器中运行的局面
      • 前后端编程环境统一,大大降低了前后端语言切换的代价
      • 全栈开发工程师
        • 后端开发工程师
        • 前端开发工程师
        • 移动端开发工程师
    • 使用 Node 可以做什么
      • 高性能的网站服务器
      • 简单易用的命名行应用程序
        • i5ting、gulp、less
      • 实时多人游戏后台服务器
      • 高大上的桌面应用程序
        • 使用 Web 技术 作为解决方案
      • 底层的物联网开发
      • 移动开发
        • Ionic --> 安卓 IOS
        • 使用 Web 技术作为解决方案

    3. 安装Node.js

    • 两种安装方式
      • 直接下载Nodejs的安装包
      • 使用NVM安装,可以切换Nodejs的版本
        • NVM安装不同版本的Node
          nvm install 6.5.0
        • 查看现在可用的Node版本 nvm list
        • 切换Node版本 nvm use 6.6.0 32/64
    • 查看Node是否安装成功/查看Node的当前版本 node -v

    • 切换源 国内 https://registry.npm.taobao.org 国外 http://registry.npmjs.org/

      切换 npm config set registry https://registry.npm.taobao.org 配置后可通过下面方式来验证是否成功 npm config get registry

    4. 学习Node.js的网站

  • 相关阅读:
    Python 绘制图表方法 收藏链接
    Python 安装 numpy 以及 matplotlib 的过程
    Project Euler 31 1000-digit Fibonacci number( DP )
    red hat 6.5 红帽企业Linux.6.5 yum This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. 解决办法
    修改system 密码
    本地服务器 windows server 2008 datacenter conn /as sysdba 提示 ora-01031 insufficient privileges
    妙用Outlook2003群发商业邮件
    批量修改文件名称
    SQl server 2012安装问题 error code 0x858C001b 解决方法
    peoplesoft function PSTREENODE 通过 deptid 获得部门树 一级部门 名称
  • 原文地址:https://www.cnblogs.com/bici/p/6037798.html
Copyright © 2020-2023  润新知