您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > Node.js快速入门
Node.js是什么?Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web应用程序框架。它的最新版本是:v0.12.7(在编写本教程时的版本)。Node.js在官方网站的定义文件内容如下:Node.js®isaplatformbuiltonChrome'sJavaScriptruntimeforeasilybuildingfast,scalablenetworkapplications.Node.jsusesanevent-driven,non-blockingI/Omodelthatmakesitlightweightandefficient,perfectfordata-intensivereal-timeapplicationsthatrunacrossdistributeddevices.Node.js自带运行时环境可在Javascript脚本的基础上可以解释和执行(这类似于JVM的Java字节码)。这个运行时允许在浏览器以外的任何机器上执行JavaScript代码。由于这种运行时在Node.js上,所以JavaScript现在可以在服务器上并执行。Node.js还提供了各种丰富的JavaScript模块库,它极大简化了使用Node.js来扩展Web应用程序的研究与开发。Node.js=运行环境+JavaScript库Node.js特性Node.js库的异步和事件驱动的API全部都是异步就是非阻塞。它主要是指基于Node.js的服务器不会等待API返回的数据。服务器移动到下一个API调用,Node.js发生的事件通知机制后有助于服务器获得从之前的API调用的响应。非常快的内置谷歌Chrome的V8JavaScript引擎,Node.js库代码执行是非常快的。单线程但高度可扩展-Node.js使用具有循环事件单线程模型。事件机制有助于服务器在一个非阻塞的方式响应并使得服务器高度可扩展,而不是创建线程限制来处理请求的传统服务器。Node.js使用单线程的程序,但可以提供比传统的服务器(比如ApacheHTTP服务器)的请求服务数量要大得多。没有缓冲-Node.js的应用从来不使用缓冲任何数据。这些应用只是输出数据在块中。许可证协议-Node.js在MIT协议下发布都有谁在使用Node.js?以下是包含正在使用node.js的项目,应用和公司,一个详尽的清单请点击github维基链接查看,这些清单里包括:eBay,GeneralElectric,GoDaddy,Microsoft,PayPal,Uber,Wikipins,Yahoo!,Yammer并越来越多加入继续扩大这个列表:使用NodeJS的项目,应用和公司概念下图描述了Node.js的一些重要组成部分,我们将详细的在后续章节进行讨论。在哪里可以使用Node.js?以下是Node.js证明自己完美的技术的合作伙伴的领域。I/O绑定应用程序数据流应用数据密集型实时应用(DIRT)JSONAPI的应用程序单页面应用在哪些地方不要使用Node.js?不建议使用Node.js的就是针对CPU密集型应用。Node.js-环境安装配置如果愿意安装设置Node.js环境,需要计算机上提供以下两个软件:一、文本编辑器二、Node.js二进制安装包文本编辑器这将用来编写程序代码。一些编辑器包括:Windows记事本,OSEdit命令,Brief,Epsilon,EMACS和VIM或vi。文本编辑器的名称和版本的在不同的操作系统可能不太相同。例如,记事本可用在Windows,VIM或vi可以在Windows以及Linux或UNIX上使用。编辑器创建的文件称为源文件并包含程序的源代码。对于Node.js的程序的源文件名通常命名扩展是.js.在开始编程之前,请确保文本编辑器可用,并且有足够的经验来写计算机程序,将其保存在一个文件,如:helloworld.js,编译并执行。Node.js运行时编写源文件中的源代码只需知道了解JavaScript。Node.js解释器将用于解释和执行JavaScript代码。Node.js的发行版以二进制安装在SunOS,Linux,MacOSX和Windows的32位(386)和64位(AMD64)的x86处理器架构操作系统。以下部分将指导如何将Node.js的二进制分发版安装在各种操作系统上。下载Node.js的归档文件下载最新版本Node.js的安装归档文件在:Node.js下载.在写这篇教程的时候,下载的是node-v0.12.7-x64.msi并复制到“桌面”。OSArchivenameWindowsnode-v0.12.7-x64.msiLinuxnode-v0.12.7-linux-x86.tar.gzMacnode-v0.12.7-darwin-x86.tar.gzSunOSnode-v0.12.7-sunos-x86.tar.gz在UNIX/Linux/MacOSX和SunOS上安装(可选)解压缩下载归档文件到/usr/local,创建一个NodeJs树/usr/local/nodejs.例如:tar-C/usr/local-xzfnode-v0.12.0-linux-x86.tar.gz添加/usr/local/nodejs到PATH环境变量。OS输出LinuxexportPATH=$PATH:/usr/local/nodejsMacexportPATH=$PATH:/usr/local/nodejsFreeBSDexportPATH=$PATH:/usr/local/nodejs在Windows上安装Node.js(本教程中使用)使用MSI文件,并按照提示安装node.js,默认情况下,安装程序将Node.js发行到C:\ProgramFiles\nodejs.但这里我们需要修改安装路径到:D:\yiibai_worksp\nodejs,并将D:\yiibai_worksp\nodejs目录添加到Window系统的PATH环境变量中。重新启动打开命令提示符,以使更改生效。第一步:双击下载的“node-v0.12.7-x64.msi文件,出现提示安装界面:第二步:选择安装目录,这里安装在目录D:\yiibai_worksp\nodejs中,如下图:第三步:选择安装的模块和功能,这里全部安装,并添加到系统环境变量,如下图所示:最后一步:安装完成!验证安装:执行文件创建一个js文件名为test.js在D:\yiibai_worksp\nodejs.File:test.jsconsole.log(HelloWorld)现在运行test.js看到的结果:D:\yiibai_worksp\nodejsnodetest.js验证输出结果:Node.js-第一个应用程序在使用Node.js创建HelloWorld!应用程序之前,让我们看看Node.js的应用程序的组成部分。Node.js应用程序由以下三个重要部分组成:导入所需模块:使用require指令来加载javascript模块创建一个服务器:服务器这将听监听在ApacheHTTP服务器客户端的请求。读取请求并返回响应:在前面的步骤中创建的服务器将响应读取由客户机发出的HTTP请求(可以是一个浏览器或控制台)并返回响应。创建Node.js应用步骤1:导入所需的包使用require指令来加载HTTP模块。varhttp=require(http)步骤2:使用http.createServer方法创建HTTP服务器。通过参数函数请求并响应。编写示例实现返回“HelloWorld”。服务器在8081端口监听。http.createServer(function(request,response){//HTTPStatus:200:OK//ContentType:text/plainresponse.writeHead(200,{'Content-Type':'text/plain'});//sendtheresponsebodyasHelloWorldresponse.end('HelloWorld\n');}).listen(8081);//consolewillprintthemessageconsole.log('Serverrunningat);步骤3:创建一个js文件在helloworld.js在D:\yiibai_worksp.File:helloworld.jsvarhttp=require(http)http.createServer(function(request,response){response.writeHead(200,{'Content-Type':'text/plain'});response.end('HelloWorld\n');}).listen(8081);console.log('Serverrunningat);现在运行helloworld.js看到结果:D:\yiibai_worksp\nodejsnodehelloworld.js验证输出,服务器应用已经启动!Serverrunningat向Node.js服务器发出请求打开浏览器(IE),在地址栏中输入:在浏览器中,看看下面的结果。Node.js-REPLREPL(ReadEvalPrintLoop:交互式解释器)代表读取评估和演示打印循环,它就像Window下的控制台的计算机环境,或Unix/Linux系统的Shell命令输入响应输出。Node.js或Node捆绑了一个REPL环境。可执行以下任务。读取-读取用户的输入,解析输入的JavaScript数据结构并存储在内存计算-采取并评估计算数据结构打印-打印结果循环-循环上面的命令,直到用户按Ctrl-C两次终止Node的REPL与Node.js的实验代码非常有用,用于调试JavaScript代码。特点REPL可以通过简单地在shell/控制台运行node不带任何参数来启动。D:\yiibai_worksp\nodejsnode可以看到REPL命令提示符:D:\yiibai_worksp\nodejsnode简单的表达式让我们尝试在REPL命令提示符下执行简单的数学运算:D:\yiibai_worksp\nodejsnode1+341+(2*3)-43使用变量使用变量储存值后并打印。如果不使用var关键字,那么值存储在变量并打印。而如果使用var关键字存储值,那么不会打印。稍后,可以使用这两个变量。使用console.log()打印来任何东西D:\yiibai_worksp\nodejsnodex=1010vary=10undefinedx+y20console.log(HelloWorld)HelloWorkdundefined多行表达NodeREPL支持类似于JavaScript的多表达。请参阅下列do-while循环:D:\yiibai_worksp\nodejsnodevarx=0undefineddo{...x++;...console.log(x:+x);...}while(x5);x:1x:2x:3x:4x:5undefined...当按下进入自动打开来后括号。Node自动检查表达式的连续性。下划线变量使用_得到最后的结果。D:\yiibai_worksp\nodejsnodevarx=10undefinedvary=20undefinedx+y30varsum=_undefinedconsole.log(sum)30undefinedREPL命令ctrl+c-终止当前命令ctrl+ctwice-终止NodeREPLctrl
本文标题:Node.js快速入门
链接地址:https://www.777doc.com/doc-4503741 .html