文章永久连接:https://tech.souyunku.com/?p=5422
Node.js 一般用来创建高性能、高吞吐量的 WEB 应用程序
如果你会 PHP ?
如果你会 PHP 开发,应该发现了我们开发的 PHP 后端程序,需要 Apache 或者 Nginx 的 HTTP 服务器,并配上 mod_php5 模块和 php-cgi
从某些方面说,PHP 并没有参与 接收 HTTP 请求并提供 Web 页面
的全部过程
但使用 Node.js 开发 WEB 应用程序就不一样了。使用 Node.js 时,我们不仅仅 在实现一个应用,同时还实现了整个 HTTP 服务器。
事实上,我们的 Web 应用以及对应的 Web 服务器基本上是一样的。
Node.js 应用程序基本组成部分
在我们创建 Node.js 第一个 “Hello, World!” 应用前,先来解下 Node.js 应用是由哪几部分组成的:
1、 引入模块 : 我们可以使用 require 指令来载入 Node.js 模块
2、 创建服务器 : 服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器
3、 接收请求与响应请求 : 服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据
创建 Node.js 应用
了解了 Node.js 应用程序基本的构造,我们就可以动手开发我们的第一个 Node.js WEB 应用程序了
1、 引入模块
使用 **require** 指令来载入 http 模块,并将实例化的 HTTP 赋值给变量 http
var http = require("http");
2、 创建 WEB 服务器
我们使用 http.createServer() 方法创建服务器
并使用 listen 方法绑定 8080 端口,开启监听服务
通过 request, response 参数来接收和响应数据
在我们项目的根目录下创建一个叫 main.js 的文件,并写入以下代码
/*
* filename: main.js
* author: 搜云库技术团队(tech.souyunku.com)
* Copyright © 2015-2065 tech.souyunku.com. All rights reserved.
*/
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\n');
}).listen(8080);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8080/');
这些代码就完成了一个可以工作的 HTTP 服务器
3、 使用 node 命令执行以上的代码
$ node main.js
Server running at http://127.0.0.1:8080/
![img\_1.png][img_1.png]
打开浏览器访问 http://127.0.0.1:8888/,就会看到一个写着 “Hello World”的网页
干货推荐
附录:Node.js 教程:系列文章
- 一、Node.js 基础教程
- 二、Node.js 环境配置
- 【当前读到】三、Node.js 创建第一个应用
- 四、Node.js NPM 使用介绍
- 五、Node.js 使用淘宝 NPM 镜像
- 六、Node.js REPL ( 交互式解释器 )
- 七、Node.js 回调函数
- 八、Node.js 事件循环
- 九、Node.js EventEmitter
- 十、Node.js Buffer(缓冲区)
- 十一、Node.js Stream (流)
- 十二、Node.js 模块系统
- 十三、Node.js 函数
- 十四、Node.js 开发 URL 路由
- 十五、Node.js 全局对象
- 十六、Node.js 常用工具
- 十七、Node.js 文件系统( fs 模块 )
- 十八、Node.js GET-POST 请求
- 十九、Node.js 内置模块
- 二十、Node.js WEB 模块
- 二十一、Node.js Express 框架
- 二十二、Node.js RESTful API
- 二十三、Node.js 多进程
- 二十四、Node.js JXcore 打包
- 二十五、Node.js 访问 MySQL 数据库
- 二十六、Node.js 访问 MongoDB
- 二十七、Node.js OS 模块
- 二十八、Node.js DNS 模块
- 二十九、Node.js Domain 模块
- 三十、Node.js Path 模块
- 三十一、Node.js Net 模块