使用Node.js 创建Web 应用与使用PHP/Java 语言创建Web应用略有不同。
使用PHP/Java 来编写后台代码时,需要Apache 或者 Nginx 的HTTP 服务器,而接受请求和提供对应的数据和HTML页面是由服务器来做的,根本不需要PHP或者Java 来做处理,而Node.js则大有不同。
Node.js 没有严格的将前端和后台服务器分离,而且前端使用Node.js来编码,后台部分也依然是使用Node.js来编码,也不需要Apache 或者 Nginx 这样的HTTP 服务器。只需要在终端将关键的后台文件启动即可。
创建第一个Web 应用
在我们创建 Node.js 第一个 “Hello, World!” 应用前,让我们先了解下 Node.js 应用是由哪几部分组成的:
1. 引入 required 模块:我们可以使用 require 指令来载入 Node.js 模块。
创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。
接收请求与响应请求 服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。
学习一门新的语言,肯定少不了要写一个Hello World工程。那我们如何用Node.js来写一个Hello World呢?
1、终端命令学习
首先,我们需要学习一些终端的命令,因为待会的工作都是在终端中执行的。
* 新建文件夹 *
使用 mkdir
+ 文件夹路径,其中最后一个节点是文件夹的名称 ,示例:
mkdir /Users/harvey/Desktop/Study
这个命令,就是在我的桌面创建一个叫Study的文件夹。
* 进入指定的文件夹 *
cd + 文件夹路径,其中文件夹的路径可以找到文件夹,输入cd 后,将文件夹拖进终端,示例:
bogon:~ harvey$ cd /Users/harvey/Desktop/Study
bogon:Study harvey$
进入文件夹后,文件夹会显示在用户名称前,比如上面的Study 就是文件夹名称。
返回到上一级目录是:cd ..
* 新建一个文件 *
这个命令,使用vim 命令创建比较简单。
只需要 vim + 文件名,如果文件不存在,则会新创建改文件,如果文件已存在,则打开该文件。
vim server.js
输入完上述命令后是这样的:
此时,是vim 的编辑模式,想要在server.js中写入内容需要进入插入模式。
命令是:a
然后就可以输入想要输入的内容了。
我这里输入的是:
var http = require('http');
http.createServer(function (request, response) {
// 发送 HTTP 头部
// HTTP 状态值: 200 : OK
// 内容类型: text/plain
response.writeHead(200, {'Content-Type': 'text/plain'});
// 发送响应数据 "Hello World"
response.end('Hello World
');
}).listen(8888);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');
上面的内容可以复制,粘贴到终端。
* 退出插入模式 *
这里有两种方式:
按Esc
或者 Ctrl + c
都可以退出插入模式。
* 保存并退出 *
退出插入模式后,保存并退出是两个命令合并的。
* 保存 *
:w
* 退出 *
:q
所以,保存并退出是:
:wq
2.运行服务端
node server.js
输入上述命令后,终端会有如下提示:
Server running at http://127.0.0.1:8888/
接下来,打开浏览器访问 http://127.0.0.1:8888/
,你会看到一个写着 “Hello World”的网页。
到这里,第一个web 应用就完成了。
关于Node.js 的更多内容,可以去看:Node.js 中文教程
而关于Node.js 的所有API,可以去看:官方文档