nodejsを使ってウェブサイトを作ります.
1623 ワード
前の勉強はもう一つのサイトのトップページを見せられましたが、ウェブサイトは一つのページだけではなく、他のページも必要です.上のプログラムを実行している時に、コンソールがnodeパス\index.jsを入力した時に、Onerequest関数は実行されません.ブラウザを更新する時だけ実行されます.トップページでハイパーリンクをクリックした時に、直接にOnerequest関数を実行します.ファイルはtplフォルダに保存されていますので、realpathのパスはconfig.root+pathnameでは入手できません.だから、server.jsファイルは改造が必要です.
// server.js
var config = require('./common/config');
var http = require('http');
var fs = require('fs');
var url = require('url');
var path = require('path');
var FServer = require('./server/FServer');
function index(){
var indexPath = config.ui + '/index.html';
fs.exists(indexPath, function(exists){
if( !exists ) {
throw err;
} else {
fs.readFile(indexPath, function(err, data){
if (err) {
throw err;
} else {
function onRequest(req, res){
//
var pathname = url.parse(req.url).pathname;
// ( .)
var extname = path.extname( pathname );
var type = extname.slice(1);
// ,
var realPath = config.root + pathname;
if ( extname === '' ) {
res.writeHead(200, {'Content-Type':'text/html'});
res.write(data);
res.end();
} else{
//
if( type == 'html' )
realPath = config.root + '/tpl' + pathname;
}
FServer.filesLoad(realPath, type, req, res);
}
}
http.createServer(onRequest).listen(config.port);
}
})
}
})
}
exports.index = index;
を改造したら、元のページに金泰のページを追加できます.