1. 安装:
$sudo apt-get install g++ curl libssl-dev apache2-utils
$sudo apt-get install git-core
2. git 获取NodeJS:
$git clone git://github.com/joyent/node.git
$cd node
$./configure
$make
$sudo make install
3. 最简单的Request & Response:
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Immediate Response!!!\n');
}).listen(1337, "127.0.0.1");
console.log('Server running at http://127.0.0.1:1337/');
4. 模块化
- FrameWareNodeJS102Module.js
console.log('Ping from protal!');
- FrameWareNodeJS102.js
var module=require("./FrameWareNodeJS102Module.js");
5. 作用域
- FrameWareNodeJS103Module.js
var ID="UUID";
this.Order="OC1";
this.purgeLog=function(){
console.log('OC1 under UUID.');
};
- FrameWareNodeJS103.js
var Caller=require("./FrameWareNodeJS103Module.js");
console.log("Undefined private variable: "+Caller.ID);
console.log("public variable: "+Caller.Order);
Caller.purgeLog();
6. 异步文件IO
var fs = require('fs');
fs.readFile('./FrameWareNodeJS103Module.js', function (err, data) {
if (err) throw err;
console.log('Async from separate callback thread.');
});
console.log('From main thread');
var events = require("events");
var emitter = new events.EventEmitter();
emitter.on("testEvent", function(msg) {
console.log(msg);
});
emitter.emit("testEvent", "Simple outputs...");
var fs = require('fs');
fs.unlink('./ToDelete.js', function (err) {
if (err) throw err;
console.log('successfully deleted ToDelete.js');
});