Я использую этот скрипт для моего web-сервера node.js(ubunt):
var util = require('util'),
http = require('http'),
fs = require('fs');
fs.readFile('htdocs/index.html', function (err, html) {
if (err) {
throw err;
}
http.createServer(function(request, response) {
response.writeHeader(200, {"Content-Type": "text/html"});
response.write(html);
response.end();
}).listen(80);
util.puts('> Server is running');
});
Я начинаю сценарий с:
forever start server.js
... и это работает.
Но это не сработает. Если я загружу некоторые простые html файлы, такие как index.html, со ссылкой на test.html.
Он работает только в том случае, если я остановлюсь и запустим скрипт. Но ссылка из index.html на test.html не работает.
То, что вы делаете, это чтение файла, а затем запуск сервера, что означает, что ответ останется таким же, пока работает сервер. Чтобы всегда получать последнюю версию index.html, вам необходимо прочитать ее по каждому запросу:
var util = require('util'),
http = require('http'),
fs = require('fs');
http.createServer(function(request, response) {
fs.readFile('htdocs/index.html', function (err, html) {
if (err) {
throw err;
}
response.writeHeader(200, {"Content-Type": "text/html"});
response.write(html);
response.end();
});
}).listen(80);
util.puts('> Server is running');
Чтобы обслуживать не только один файл, вам необходимо настроить статический веб-сервер, например, используя connect static:
var connect = require('connect');
connect.use(connect.static(__dirname + '/htdocs'))