先来简单介绍下node和node.js:
Node 是一个服务器端 JavaScript 解释器,之所以叫Node.js,因为它是一套用来编写高性能网络服务器的JavaScript工具包,目标是帮助程序员构建高度可伸缩的应用程序,编写能够处理数万条同时连接到一个物理机的连接代码。其本身运行Google V8 JavaScript引擎,所以速度和性能非常好。
1. 首先安装node.js
地址连接(编译后的版本):https://nodejs.org/
我的PC是windows的,选择:Windows Installer (.msi) 32-bit
2. nod.js第一个小例子
哈哈,每次不管什么语言例子,都是先来个hello world,你们是不是呢?
1)打开你使用的编辑器,创建一个helloworld.js文件,输入
console.log("Hello World")
然后保存。
2)打开Node.js的CMD窗口,输入node js文件路径,我是放在桌面:
用node.js执行你的脚本:node server.js
3. 编写http版Hello World
此时,你所做的工作是建一个基础的http服务器。
1)重写 helloworld.js 代码如下:
var http = require('http');
server = http.createServer(function (req, res) {
res.writeHeader(200, {"Content-Type": "text/plain"});
res.end("Hello World\n");
})
server.listen(8000);
console.log("httpd start @8000");
</pre> 2) 输入node helloworld.js,运行。<p></p><p> 控制台显示 httpd start @8000 </p><p> 用浏览器访问 http://localhost:8000/ 显示 Hello World</p><p> <img src="https://img-blog.csdn.net/20150309155346582?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvVFRPX09UVA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" /></p><p> <img src="https://img-blog.csdn.net/20150309155354491?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvVFRPX09UVA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" /></p><p></p><pre name="code" class="javascript">或者
<pre name="code" class="html"> var http = require("http");
http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}).listen(8888);
刚才忘了解释代码,现在补上:
代码逻辑:
①. 全局方法require()是用来导入模块的,一般直接把 require() 方法的返回值赋值给一个变量,在 JavaScript 代码中直接使用此变量即可 。require("http") 就是加载系统预置的 http 模块,即请求(require)Node.js自带的http模块,并且把它赋给一个变量http。
②. 调用HTTP模块提供的函数:createServer。http.createServer 是模块的方法,目的就是创建并返回一个新的web server对象,并且给服务绑定一个回调,用以处理请求。
③. 这个对象有一个listen的方法,此方法有一个参数,指定HTTP服务器监听端口。那么通过 http.listen() 方法就可以让该 HTTP 服务器在特定端口监听。
④. console.log就是在控制台打印出来内容。
嘿嘿,现在你已经完成了一个简单的可以工作的http服务器。
参考文章:
http://www.nodebeginner.org/index-zh-cn.html#hello-world
http://www.cnblogs.com/Darren_code/archive/2011/10/31/2207063.html