- 1、本文档共60页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
七天学会NodeJS
NodeJS 基础
什么是NodeJS
JS 是脚本语言,脚本语言都需要一个解析器才能运行。对于写在HTML 页面里
的JS,浏览器充当了解析器的角色。而对于需要独立运行的JS,NodeJS 就是
一个解析器。
每一种解析器都是一个运行环境,不但允许JS 定义各种数据结构,进行各种计
算,还允许JS 使用运行环境提供的内置对象和方法做一些事情。例如运行在浏
览器中的JS 的用途是操作DOM,浏览器就提供了document 之类的内置对象。
而运行在NodeJS 中的JS 的用途是操作磁盘文件或搭建HTTP 服务器,NodeJS
就相应提供了fs、http 等内置对象。
有啥用处
尽管存在一听说可以直接运行JS 文件就觉得很酷的同学,但大多数同学在接触
新东西时首先关心的是有啥用处,以及能带来啥价值。
NodeJS 的作者说,他创造NodeJS 的目的是为了实现高性能Web 服务器,他首
先看重的是事件机制和异步IO 模型的优越性,而不是JS。但是他需要选择一
种编程语言实现他的想法,这种编程语言不能自带IO 功能,并且需要能良好支
持事件机制。JS 没有自带IO 功能,天生就用于处理浏览器中的 DOM 事件,并
且拥有一大群程序员,因此就成为了天然的选择。
如他所愿,NodeJS 在服务端活跃起来,出现了大批基于NodeJS 的Web 服务。
而另一方面,NodeJS 让前端众如获神器,终于可以让自己的能力覆盖范围跳出
浏览器窗口,更大批的前端工具如雨后春笋。
因此,对于前端而言,虽然不是人人都要拿NodeJS 写一个服务器程序,但简单
可至使用命令交互模式调试JS 代码片段,复杂可至编写工具提升工作效率。
NodeJS 生态圈正欣欣向荣。
如何安装
安装程序
NodeJS 提供了一些安装程序,都可以在 这里下载并安装。
Windows 系统下,选择和系统版本匹配的.msi 后缀的安装文件。Mac OS X 系统
下,选择.pkg 后缀的安装文件。
编译安装
Linux 系统下没有现成的安装程序可用,虽然一些发行版可以使用apt-get 之
类的方式安装,但不一定能安装到必威体育精装版版。因此Linux 系统下一般使用以下方
式编译方式安装NodeJS。
1. 确保系统下g++版本在4.6 以上,python 版本在2.6 以上。
2. 从 下载tar.gz 后缀的NodeJS 必威体育精装版版源代码包并解压到某个
位置。
3. 进入解压到的目录,使用以下命令编译和安装。
4. $ ./configure
5. $ make
$ sudo make install
如何运行
打开终端,键入node 进入命令交互模式,可以输入一条代码语句后立即执行并
显示结果,例如:
$ node
console.log(Hello World!);
Hello World!
如果要运行一大段代码的话,可以先写一个JS 文件再运行。例如有以下
hello.js。
function hello() {
console.log(Hello World!);
}
hello();
写好后在终端下键入node hello.js 运行,结果如下:
$ node hello.js
Hello World!
权限问题
在Linux 系统下,使用NodeJS 监听80 或443 端口提供HTTP(S)服务时需要
root 权限,有两种方式可以做到。
一种方式是使用sudo 命令运行NodeJS。例如通过以下命令运行的server.js
中有权限使用80 和443 端口。一般推荐这种方式,可以保证仅为有需要的JS
脚本提供root 权限。
$ sudo node server.js
另一种方式是使用chmod +s 命令让NodeJS 总是以root 权限运行,具体做法如
下。因为这种方式让任何JS 脚本都有了root 权限,不太安全,因此在需要很
考虑安全的系统下不推荐使用。
$ sudo chown root /usr/local/bin/node
$ sudo chmod +s /usr/local/bin/node
模块
编写稍大一点的程序时一般都会将代码模块化。在NodeJS 中,一般将代码合理
拆分到不同的JS 文件中,每一个文件就是一个模块,而文件路径就是模块名。
在编写每个模块时,都有require、exports、module 三个预先定义好的变量可
供使用。
require
require 函数用于在当前模块中加载和使用别的模块,传入一
文档评论(0)