Node.js知识点学习
2017-05-28 20:37
253 查看
Node.js知识点学习
一、基本概念
Node.js,或者 Node,是一个可以让
JavaScript运行在服务器端的平台。可以说,
Node.js开创了
javascript模块化开发的先河,早期的
javascript需求都很简单,基本都是写成函数的,然后是面向过程的写法,后来慢慢的引入面向对象开发思想,再后来就慢慢写成 类。最后node.js的出现才开始有了js模块化开发的概念,这使得臃肿的
js代码免去了命名冲突等一系列开发难题。
Node最大的特点就是采用了异步式
I/O与事件驱动的架构设计。
Node.js是一个让js运行在浏览器外的平台。其最初目标是实现事件驱动,非阻塞
I/O的web服务器。
Node.js只是一个
JavaScript的运行环境(或者说是一组库), 为标准
js补充了有关异步 IO, 即读写网络和文件的功能。 一个库嘛,无非是调调 API 什么的,除了略反人类的事件回调之外,和其他后端语言(PHP, Python)也差不了多少。
Node.js使用的是单线程模式,每一个线程完成一个功能,一个进程可以有多个线程,对于所有的I/O都采用异步式的请求方式。每个异步式I/O请求完成后都会被推送到事件队列,等待程序进程进行处理。
总之,
node的核心思想就是:非阻塞,单线程和事件驱动。(同步对应的是阻塞,异步对应的是非阻塞)
ebay选择
Node.js的理由,可以归纳为以下4点:
动态语言:开发效率非常高,并有能力构建复杂系统,如ql.io。 性能和I/O负载:Nodejs非常好的解决了IO密集的问题,通过异步IO来实现。 连接的内存开销:每个Node.js进程可以支持超过12万活跃的连接,每个连接消耗大约2K的内存。 操作性:实现了Nodejs对于内存堆栈的监控系统。
Node.JS架构示意图
Node.js可以做什么?
Web开发:Express + EJS + Mongoose/MySQL
express 是轻量灵活的Nodejs Web应用框架,它可以快速地搭建网站。 Express框架建立在Nodejs内置的Http模块上,并对Http模块再包装,从而实际Web请求处理的功能。 ejs是一个嵌入的Javascript模板引擎,通过编译生成HTML的代码。 mongoose 是MongoDB的对象模型工具,通过Mongoose框架,可以进行访问MongoDB的操作。 mysql 是连接MySQL数据库的通信API,可以进行访问MySQL的操作。
通常用
Node.js做Web开发,需要3个框架配合使用,就像Java中的SSH。
Web聊天室(IM):Express + Socket.io
socket.io一个是基于Nodejs架构体系的,支持
websocket的协议用于时时通信的一个软件包。
socket.io给跨浏览器构建实时应用提供了完整的封装,
socket.io完全由
javascript实现。
相关文章推荐
- [转] 学习服务器端的JavaScript_Node.js
- 学习Node.js-01
- 很棒的node.js入门学习材料
- NODE.JS学习笔记——CRYPTO 加密模块
- Node.js学习
- 学习NodeJS第一天:node.js引言
- node.js学习之markdown
- Node.Js 学习随笔2
- Node.js 学习随笔
- Node.js文档学习笔记(1)
- 学习node.js-02
- node.js入门学习
- node.js入门学习
- Node.js学习笔记-os Module
- Node.JS学习笔记
- 学习NodeJS第一天:node.js引言(转)
- node.js进阶学习
- node.js进阶学习
- node.js学习与应用
- Node.js文档学习笔记(2)