Node.js 教程

分类:后端教程
标签:

nodejs

简单的说 Node.js 就是运行在服务端的 JavaScript。

Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。

Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。


谁适合阅读本教程?

如果你是一个前端程序员,你不懂得像PHP、Python或Ruby等动态编程语言,然后你想创建自己的服务,那么Node.js是一个非常好的选择。

Node.js 是运行在服务端的 JavaScript,如果你熟悉Javascript,那么你将会很容易的学会Node.js。

当然,如果你是后端程序员,想部署一些高性能的服务,那么学习Node.js也是一个非常好的选择。


学习本教程前你需要了解

在继续本教程之前,你应该了解一些基本的计算机编程术语。如果你学习过Javascript,PHP,Java等编程语言,将有助于你更快的了解Node.js编程。


使用的版本

我们可以使用以下命令来查看当前的 Node 版本:


$ node -v
v4.4.3

 

注意:不同版本间可能是有差异的。


第一个Node.js程序:Hello World!

脚本模式

以下是我们的第一个Node.js程序:

实例

12
运行实例 »

保存该文件,文件名为 helloworld.js, 并通过 node命令来执行:

node helloworld.js

程序执行后,正常的话,就会在终端输出 Hello World。

交互模式

打开终端,键入node进入命令交互模式,可以输入一条代码语句后立即执行并显示结果,例如:


$ node
> console.log('Hello World!');
Hello World!

Gif 实例演示

接下来我们通过 Gif 图为大家演示实例操作:

目录

标题 说明
Node.js 安装配置 Node.js 安装配置本章节我们将向大家介绍在window和Linux上安装Node.js的方法。本安装教程以Node.js v4.4.3 LTS(长期支持版本)版本为例。Node.js安装包及源码下载地址为:。你可以根据不同平台系统选择你需要的Node.js安装包。
Node.js 创建第一个应用 Node.js 创建第一个应用如果我们使用PHP来编写后端的代码时,需要Apache 或者 Nginx 的 服务器,并配上 mod_php5 模块和php-cgi。从这个角度看,整个"接收请求并提供 Web 页面"的需求根本不需 要 PHP 来处理。
NPM 使用介绍 NPM 使用介绍NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:允许用户从NPM服务器下载别人编写的第三方包到本地使用。允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
Node.js REPL(交互式解释器) Node.js REPL(交互式解释器)Node.js REPL(Read Eval Print Loop:交互式解释器)表示一个电脑的环境,类似 Window 系统的终端或 /Linux shell,我们可以在终端中输入命令,并接收系统的响应。
Node.js 回调函数 Node.js 回调函数Node.js 异步编程的直接体现就是回调。异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数。例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回。
Node.js 事件循环 Node.js 事件循环Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高。Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用,并处理并发。Node.js 基本上所有的事件机制都是用设计模式中观察者模式实现。
Node.js EventEmitter Node.js EventEmitterNode.js 所有的异步 I/O 操作在完成时都会发送一个事件到事件队列。Node.js里面的许多对象都会分发事件:一个net.Server对象会在每次有新连接时分发一个事件, 一个fs.readStream对象会在文件被打开的时候发出一个事件。
Node.js Buffer(缓冲区) Node.js Buffer(缓冲区)JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。但在处理像TCP流或文件流时,必须使用到二进制数据。因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。
Node.js Stream(流) Node.js Stream(流)Stream 是一个抽象接口,Node 中有很多对象实现了这个接口。例如,对 服务器发起请求的request 对象就是一个 Stream,还有stdout(标准输出)。Node.js,Stream 有四种流类型:Readable - 可读操作。
Node.js 模块系统 Node.js模块系统为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统。 模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的。换言之,一个Node.js 文件就是一个模块,这个文件可能是JavaScript 代码、JSON 或者编译过的C/C++ 扩展。
Node.js 函数 Node.js 函数在JavaScript中,一个函数可以作为另一个函数接收一个参数。我们可以先定义一个函数,然后传递,也可以在传递参数的地方直接定义函数。Node.js中函数的使用与Javascript类似,举例来说,你可以这样做:function say(word) {console.log(word);}function execute(someFunction, value) {someFunction(value);}execute(say, "Hello");以上代码中,我们把 say 函数作
Node.js 路由 Node.js 路由我们要为路由提供请求的URL和其他需要的GET及POST参数,随后路由需要根据这些数据来执行相应的代码。因此,我们需要查看请求,从中提取出请求的URL以及/POST参数。这一功能应当属于路由还是服务器(甚至作为一个模块自身的功能)确实值得探讨,但这里暂定其为我们的服务器的功能。
Node.js 全局对象 Node.js 全局对象JavaScript 中有一个特殊的对象,称为全局对象(Global Object),它及其所有属性都可以在程序的任何地方访问,即全局变量。在浏览器 JavaScript 中,通常 window 是全局对象,而 Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 global对象的属性。
Node.js 常用工具 Node.js 常用工具util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足。 util.inheritsutil.inherits(constructor, superConstructor)是一个实现对象间原型继承 的函数。
Node.js 文件系统 Node.js 文件系统:Node.js 提供一组类似 UNIX(POSIX)标准的文件操作API。 Node 导入文件系统模块(fs)语法如下所示:
Node.js GET/POST请求 Node.js /POST请求在很多场景中,我们的服务器都需要跟用户的浏览器打交道,如表单提交。表单提交到服务器一般都使用/POST请求。本章节我们将为大家介绍 Node.js /POST请求。获取GET请求内容由于GET请求直接被嵌入在路径中,URL是完整的请求路径,包括了?后面的部分,因此你可以手动解析后面的内容作为GET请求的参数。
Node.js 工具模块 在 Node.js 模块库中有很多好用的模块。接下来我们为大家介绍几种常用模块的使用:
Node.js Web 模块 Node.js Web 模块什么是 Web 服务器?Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,Web服务器的基本功能就是提供Web信息浏览服务。它只需支持协议、HTML文档格式及URL,与客户端的网络浏览器配合。大多数 web 服务器都支持服务端的脚本语言(php、python、ruby)等,并通过脚本语言从数据库获取数据,将结果返回给客户端浏览器。
Node.js Express 框架 Node.js Express 框架Express 简介Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的工具。使用 Express 可以快速地搭建一个完整功能的网站。
Node.js RESTful API Node.js RESTful API什么是 REST?REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。
Node.js 多进程 Node.js 多进程我们都知道 Node.js 是以单线程的模式运行的,但它使用的是事件驱动来处理并发,这样有助于我们在多核 cpu 的系统上创建多个子进程,从而提高性能。每个子进程总是带有三个流对象:child.stdin, child.stdout 和child.stderr。
Node.js JXcore 打包 Node.js JXcore 打包Node.js 是一个开放源代码、跨平台的、用于服务器端和网络应用的运行环境。JXcore 是一个支持多线程的 Node.js 发行版本,基本不需要对你现有的代码做任何改动就可以直接线程安全地以多线程运行。但我们这篇文章主要是要教大家介绍 JXcore 的打包功能。
Node.js OS 模块Node.js os 模块提供了一些基本的系统操作函数。本章主要介绍os模块
Node.js Path 模块Node.js path 模块提供了一些用于处理文件路径的小工具,我们可以通过以下方式引入该模块: var path = require("path")
Node.js Net 模块Node.js Net 模块提供了一些用于底层的网络通信的小工具,包含了创建服务器/客户端的方法,我们可以通过以下方式引入该模块: var net = require("net")
Node.js DNS 模块Node.js DNS 模块用于解析域名。引入 DNS 模块语法格式如下:var dns = require("dns")
Node.js Domain 模块Node.js Domain(域) 简化异步代码的异常处理,可以捕捉处理try catch无法捕捉的异常。引入 Domain 模块 语法格式如下:

现在开始学习Node.js 教程第一章 : Node.js 安装配置


本教程固定链接:http://www.rumen5.com/61389.html

上一篇:AJAX 教程

下一篇:Go 语言教程

QQ空间新浪微博腾讯微博人人网微信