1.什么是node.js?
node.js是一个基于Chrome v8引擎的javascript 运行环境。Node.js使用了一个事件驱动、非阻塞式 I/O的模型,使其轻量又高效。(由c++语言编写的)Node.js的包管理器npm,成为世界上最大的开放源代码的生态系统。 简单说:编写高性能网络服务器的javascipt工具包(用于js开发服务端程序) 单线程、异步、事件驱动。
node.js是一个Javascript运行环境(runtime)
Node.js 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。
Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。V8引擎执行Javascript的速度非常快,性能非常好。 。
NPM:全称是Node Package Manager,是随同NodeJS一起安装的包管理和分发工具,它很方便让JavaScript开发者下载、安装、上传以及管理已经安装的包。 它已经成为了非官方的发布Node模块(包)的标准。
nodejs自身提供了基本的模块,但是开发实际应用过程中仅仅依靠这些基本模块则还需要较多的工作。幸运的是,Nodejs库和框架为我们提供了帮助,让我们减少工作量。但是成百上千的库或者框架管理起来又很麻烦,有了NPM,可以很快的找到特定服务要使用的包,进行下载、安装以及管理已经安装的包。
使用NPM,必须安装NodeJS。
安装nodejs ,去官网下载https://nodejs.org/en/,LTS为长期稳定版,下载这个即可。安装直接双击nodejs.exe,疯狂下一步即可!
2.nodejs的特点
快、耗内存多——-网上一个百万级并发测试,未优化的情况下1M的链接消耗了16G内存
3.nodejs可以做什么
node.js可以解析js代码(没有浏览器安全级别的限制),提供很多系统级别的api,如:文件的读写、进程的管理、网络通信…
4.为什么要学习nodejs
1.node-webkit/内核
2.nodeos/系统
3.express/框架
4.jade EJS /模版
5.forever PM2 /实现负载均衡
6.http://log.io/在浏览器打印各种输出的日志
7.grunt、gulp、webpack/自动化构建工具
8.mocha 、karma /测试工具
9.可以辅助前端开发,代替后台开发
Node vs php
优点:性能高 开发效率高 应用范围广
缺点