1.Node.JS¼ò½é
1.1 Á˽âNode.JS
¼òµ¥µÄ˵Node.js ¾ÍÊÇÔËÐÐÔÚ·þÎñ¶ËµÄJavaScript¡£Node.jsÊÇÒ»¸ö»ùÓÚChrome JavaScriptÔËÐÐʱ½¨Á¢µÄÒ»¸öƽ̨¡£Node.jsÊÇÒ»¸öʼþÇý¶¯I/O·þÎñ¶ËJavaScript»·¾³£¬»ùÓÚGoogleµÄV8ÒýÇæ£¬V8ÒýÇæÖ´ÐÐJavascriptµÄËٶȷdz£¿ì£¬ÐÔÄܷdz£ºÃ¡£
1.2 Node.JS°²×°
ÏÂÔØ¶ÔÓ¦ÄãϵͳµÄNode.js°æ±¾£ºhttps://nodejs.org/en/download/
£¨ÎÒÃÇÏÖÔÚʹÓõİ汾ÊÇ8.9.4£©
·Ñ¡°²×°Ä¿Â¼
·½øÐа²×°
·Ä¬Èϼ´¿É
·²âÊÔ
ÔÚÃüÁîÌáʾ·ûÏÂÊäÈëÃüÁî
node -v
»áÏÔʾµ±Ç°nodeµÄ°æ±¾ºÅ
2.¿ìËÙÈëÃÅ
2.1 ¿ØÖÆÌ¨Êä³ö
ÎÒÃÇÏÖÔÚ×ö¸ö×î¼òµ¥µÄСÀý×Ó£¬ÑÝʾÈçºÎÔÚ¿ØÖÆÌ¨Êä³ö£¬ÔÚeÅÌ´´½¨Îļþ¼Ðnodedemo ,´´½¨Îı¾Îļþdemo1.js,´úÂëÄÚÈÝ
var a=1;
var b=2;
console.log(a+b);
ÎÒÃÇÔÚÃüÁîÌáʾ·ûÏÂÊäÈëÃüÁînode demo1.js £¬½á¹ûÈçÏ£º
2.2 ʹÓú¯Êý
ÎÒÃǸղŵÄÀý×ӷdz£¼òµ¥£¬ÔÛÃÇÕâÀïÔÙ¿´Ò»Ïº¯ÊýµÄʹÓãº
var c=add(100,200);
console.log(c);
function add(a,b){
return a+b;
}
ÎÒÃÇÔÚÃüÁîÌáʾ·ûÏÂÊäÈëÃüÁînode demo2.js £¬½á¹ûÈçÏ£º
2.3 Ä£¿é»¯±à³Ì
´´½¨demo3_1.js
exports.add=function(a,b){
return a+b;
}
´´½¨demo3_2.js
var demo = require('./demo3_1');
console.log(demo.add(400,600));
ÎÒÃÇÔÚÃüÁîÌáʾ·ûÏÂÊäÈëÃüÁînode demo3_2.js £¬½á¹ûÈçÏ£º
2.4 ´´½¨web·þÎñÆ÷
´´½¨demo4.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 demo4.js £¬½á¹ûÈçÏ£º
´Ëʱ±íʾ·þÎñÒѾÆô¶¯£¬ÎÒÃÇ´ò¿ªä¯ÀÀÆ÷£¬ÊäÈëÍøÖ· ä¯ÀÀÆ÷ÏÔʾ
ÐÄÇéÊDz»ÊǺܼ¤¶¯ÄØ£¿ Ctrl+c ÖÕÖ¹ÔËÐС£
2.5 Àí½â·þÎñ¶ËäÖȾ
ÎÒÃÇ´´½¨demo5.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 £¬ÔÚä¯ÀÀÆ÷²âÊÔ½á¹û
ÎÒÃÇÓÒ¼ü“²é¿´Ô´´úÂë”
ÕâÀïÎÒÃÇ·¢ÏÖ£¬²¢Ã»ÓÐÎÒÃÇдµÄforÑ»·Óï¾ä£¬¶øÊÇÖ±½ÓµÄ10ÌõHello World £¬Õâ¾Í˵Ã÷Õâ¸öÑ»·ÊÇÔÚ·þÎñ¶ËÍê³ÉµÄ£¬¶ø·Çä¯ÀÀÆ÷£¨¿Í»§¶Ë£©À´Íê³É¡£ÕâÓëÎÒÃÇÔÀ´µÄJSPºÜÊÇÏàËÆ¡£Êµ¼ÊÖÐÕâЩÊý¾ÝÓпÉÄÜÓÉnodeÖ±½Ó¶ÁÈ¡Êý¾Ý¿â£¬»òÊÇͨ¹ýajax·ÃÎÊÆäËüÍøÂç×ÊÔ´»ñÈ¡¡£
2.6 ½ÓÊÕ²ÎÊý
´´½¨demo6.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/');
ÎÒÃÇÔÚÃüÁîÌáʾ·ûÏÂÊäÈëÃüÁînodedemo6.js £¬ÔÚä¯ÀÀÆ÷²âÊÔ½á¹û
http://localhost:8888/?name=abc
3.×ܽá
±¾´ÎÖ÷Òª½²½âÁËNode.JSÔÚwindow»·¾³Ïµİ²×°¼°Ê¹Óá£Í¨¹ý±¾ÆªÎÄÕÂÏ£Íû´ó¼Ò¿ÉÒÔÕÆÎÕNode.JSÖк¯Êý»ù±¾Ê¹Óá¢Á˽âʲôÊÇÄ£¿é»¯£¬ÈçºÎ´´½¨web·þÎñÆ÷ÒÔ¼°Àí½âʲôÊÇ·þÎñÆ÷¶ËäÖȾ¡£
²ÂÄãϲ»¶£º
JavaÖеij£Á¿ÓÐÄÄЩ?
javaµÝ¹éÊÇʲôÒâ˼,ÔõôÓÃ
JavaÖÐswitchÌõ¼þÓï¾äµÄÓ÷¨
ÉîÈëÀí½âNode.jsÖеÄÀ¬»ø»ØÊÕºÍÄÚ´æÐ¹Â©µÄ²¶»ñ