昨日私はNode.jsで少し演奏しました。私の最初のアイデアは、このようにいくつかのjsファイルを含むHTMLページをロードするシンプルなWebサーバーです:私のnode.jsシンプルなWebサーバーは親フォルダにアクセスしません
var http = require('http'),
fs = require('fs'),
path = require('path');
http.createServer(function(request, response) {
console.log('request starting for: ' + request.url);
var filePath = path.join('.', request.url);
if (filePath === './') {
filePath = './aPage.html';
}
path.exists(filePath, function(exists) {
if (exists) {
var extname = path.extname(filePath);
var contentType = 'text/html';
switch (extname) {
case '.js':
contentType = 'text/javascript';
break;
case '.css':
contentType = 'text/css';
break;
}
fs.readFile(filePath, function(error, content) {
if (error) {
response.writeHead(500);
response.end();
}
else {
response.writeHead(200, {
'Content-Type': contentType
});
response.end(content, 'utf-8');
}
});
}
else {
console.log('Something goes wrong ;(');
response.writeHead(404);
response.end();
}
});
console.log('Server running!');
}).listen('8080', '0.0.0.0');
などすべてが機能します。
...
var filePath = path.join('..', request.url);
if (filePath === '../') {
filePath = '../aPage.html';
}
...
しかしpath.exists()はhtmlページおよびその他のファイルの存在を確認するために失敗します。
私は、これはサブディレクトリにスクリプトを置くJSにラインを変更することを決めました。私は自分の過ちが何であるか教えてください(私はそれが些細な変更であったと思いました)?
ありがとうございました。
ありがとう、私は私のc9.ioプロジェクトの中にあり、私はideからノードを実行しているので、私はそれを認識していない! – Dario