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
在瀏覽器測試結果