本系列内容由ZouStrong整理收录
参考网站及书籍:Node.js官网(nodejs.org),《Node.js开发指南》,《Node即学即用》,《Node入门经典》,《Node与Express开发》
Node.js诞生于2009年
它是一个基于V8引擎(Chrome的JavaScript运行环境)建立的,运行在服务器端的平台,可以用来方便地搭建快速的,易于扩展的网络应用
它是JavaScript在服务器端的运行环境,可以让JavaScript脱离浏览器的束缚而运行在服务器环境
它还提供了新的API和功能,更是一个工具库
注:JavaScript是脚本语言,脚本语言都需要一个解析器才能运行。对于客户端JavaScript而言,浏览器充当了解析器的角色;而对于服务器端JavaScript来说,Node.js就充当了解析器的角色
注:Node.js不是一种语言,更不是一种框架,而是让JavaScript(脱离浏览器束缚)运行在服务端的平台(运行环境)和工具库
注:Node.js不仅对V8引擎进行了封装,还进行了优化(提供了新的API——如fs,Buffer等)
注:Node.js中的JavaScript 只是Core JavaScript(ECMAScript 的一个实现),不包含DOM、BOM 等(因为不运行在浏览器中),但Node.js提供了新的API,例如文件系统(fs)、网络编程(http)等
当年为了统一JavaScript 语言标准,人们制定了ECMAScript 规范
如今为了统一JavaScript 在浏览器之外的实现,CommonJS 诞生了
随着Node.js 的成功,各种浏览器外的JavaScript 实现逐步兴起,CommonJS 试图定义一套普通应用程序使用的API,从而填补JavaScript 标准库过于简单的不足,Node.js目前CommonJS 规范最热门的一个实现(Node.js并不完全遵循CommonJS 规范,因为规范的制定总是滞后于技术的发展)
高性能(V8引擎)
单线程
异步回调、非阻塞IO
事件驱动
内置http服务器
开发效率高
Node.js 能做的远不止开发一个网站那么简单
具有复杂逻辑的网站
基于社交网络的大规模Web应用
Web Socket 服务器
TCP/UDP 套接字应用程序
命令行工具
交互式终端程序
带有图形用户界面的本地应用程序
单元测试工具
客户端JavaScript 编译器
下载最新版window安装包—— http://nodejs.org/
安装完成后打开命令行输入
node
或者(顺便查看Node.js版本)
node -v (单中划线)
node --version (双中划线)
如果没有出现错误提示,那么,恭喜你安装成功了!
注1:安装程序自动将node目录添加到系统环境变量,以至于在何处都可以运行node命令
注2:运行无参数的node将会进入Node.js的交互模式(REPL模式):即read-eval-print-loop(输入-求值-输出-循环),此时可直接运行JavaScript代码(连续按下两次Ctrl+C即可退出该模式)
使用命令
node --use_strict 可进入严格模式
使用命令
node --help 查看更多命令
Node.js是一个JavaScript脚本解析器,任何操作系统下安装Node.js本质上做的事情都是把Node.js执行程序复制到一个目录,然后保证这个目录在系统PATH环境变量下,以便在何处都可以在命令行使用node命令来解析JavaScript脚本(所以绿色安装时记得将目录添加到系统环境变量)
我们可以在命令行输入 "path"命令来查看path环境变量是否配置正确
好吧,我没有mac,以下只是我听说的......
下载最新版mac安装包—— http://nodejs.org/
选择.pkg后缀的安装文件
剩余的事情 跟上面就一样了
暂时没有安装linux操作系统,以下也只是我听说的......
Linux系统下没有现成的安装程序可用,虽然一些发行版可以使用apt-get之类的方式安装,但不一定能安装到最新版
因此Linux系统下一般使用以下方式编译方式安装Node.js
确保系统下g++版本在4.6以上,python版本在2.6以上。
从nodejs.org下载tar.gz后缀的NodeJS最新版源代码包并解压到某个位置。
进入解压到的目录,使用以下命令编译和安装。
./configure
make
sudo make install
编写如下代码, 保存为test.js
console.log(“Hello Node ”);
在当前目录打开命令行(快捷方式:Shift+鼠标右键),输入以下命令
node test.js (带扩展名)
或者
node test (省略扩展名)
即可看到输出结果,这就是第一个Node程序
注:脚本文件的扩展名不一定是.js,运行 node test.txt 同样可以得到相同结果,扩展名使用.js 只是一个约定而已,遵循了JavaScript 脚本一贯的命名习惯