Debian 7 安裝
apt-get install curl
curl -sL https://deb.nodesource.com/setup | bash -
apt-get install -y nodejs
開啟 HTTP 服務
//app.js
var http = require('http');
http.createServer(function(req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('<h1>Node.js</h1>');
res.end('<p>Hello World</p>');
}).listen(80);
console.log("HTTP server is listen at port 80.");
執行
node app.js
不用每次關閉程式都重新執行
supervisor 會偵測 app.js 是否有變更,如果有變更會自動重啟安裝 supervisor
npm install -q supervisor執行
supervisor app.js
同步與非同步
同步讀取檔案//readFileSync.js
var fs = require('fs'):
var content = fs.readFileSync('test.txt', 'utf-8');
console.log(content);
console.log('done.');
執行結果
I'm a test file.非同步讀取檔案
done.
//readFile.js執行結果
var fs = require('fs');
fs.readFile('test.txt', 'utf-8', function(err, content) {
if (err) {
console.error(err);
} else {
console.log(content);
}
});
console.log('done.');
done.nde.js 的非同步運作是使用事件觸發 callback function 來達成,fs.readFile 登錄一個讀檔案的事件,當事件觸發時才執行後面寫的 callback function。所以 node.js 應該有個處理各事件的狀態機循環。利用這個機制,node.js 可以單一執行序完成多線運作,省下不少開執行序耗費的系統資源。
I'm a test file.
沒有留言:
張貼留言