nodejs快速入门
2.3.1 控制台输出
我们现在做个最简单的小例子,演示如何在控制台输出,创建文本文件demo01.js,代码内容
var a=1;
var b=2;
console.log(a+b);
我们在命令提示符下输入命令
node demo01.js
2.3.2 使用函数
创建文本文件demo02.js
var c=add(100,200);
console.log(c);
function add(a,b){
return a+b;
}
命令提示符输入命令
node demo2.js
运行后看到输出结果为300
2.3.3 模块化编程
创建文本文件demo03_1.js
exports.add=function(a,b){
return a+b;
}
创建文本文件demo03_2.js
var demo= require('./demo3_1');
console.log(demo.add(400,600));
我们在命令提示符下输入命令
node demo03_2.js
结果为1000
2.3.4 创建web服务器
创建文本文件demo04.js
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(8888);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');
http为node内置的web模块
我们在命令提示符下输入命令
node demo04.js
服务启动后,我们打开浏览器,输入网址
http://localhost:8888/
即可看到网页输出结果Hello World,心情是不是很激动呢?
如果想终止服务的运行,在命令提示符Ctrl+c即可。
2.3.5 理解服务端渲染
我们创建demo05.js ,将上边的例子写成循环的形式
var http = require('http');
http.createServer(function (request, response) {
// 发送 HTTP 头部
// HTTP 状态值: 200 : OK
// 内容类型: text/plain
response.writeHead(200, {'Content-Type': 'text/plain'});
// 发送响应数据 "Hello World"
for(var i=0;i<10;i++){
response.write('Hello World\n');
}
response.end('');
}).listen(8888);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');
我们在命令提示符下输入命令启动服务
node demo5.js
浏览器地址栏输入http://127.0.0.1:8888即可看到查询结果。
我们右键“查看源代码”发现,并没有我们写的for循环语句,而是直接的10条Hello World ,这就说明这个循环是在服务端完成的,而非浏览器(客户端)来完成。这与我们原来的JSP很是相似。
2.3.6 接收参数
创建demo06.js
var http = require('http');
var url = require('url');
http.createServer(function(request, response){
response.writeHead(200, {'Content-Type': 'text/plain'});
// 解析 url 参数
var params = url.parse(request.url, true).query;
response.write("name:" + params.name);
response.write("\n");
response.end();
}).listen(8888);
console.log('Server running at http://127.0.0.1:8888/');
我们在命令提示符下输入命令
node demo6.js
在浏览器测试结果