Это действительно странная проблема.Я только что установил Node.JS в своей системе (Fedora).
У меня есть три файла в / var / www / mirror / :
- server.js
- client.js
- index.html
Файл server.js - это тот, который я вызываю через CLI: node server.js
.
Это, в основном, возвращает index.html .
var
http = require('http'),
io = require('socket.io'),
fs = require('fs');
http.createServer(function(request, response) {
fs.readFile(__dirname + '/index.html', function(error, data) {
if (error) {
result.writeHead(500);
console.log('Error: Could not read index.html.');
}
response.writeHead(200, {'Content-Type': 'text/html'});
response.end(data);
});
}).listen(1337, '127.0.0.1');
console.log('Server is running.');
Все работает, как ожидается, и нигде не выдается никаких ошибок.
В index.html У меня есть простая структура HTML5 (на самом деле ничего лишнего!) и <script />
, которая указывает, как уже упоминалось, client.js .
Эта строка кода выглядитвот так (Ctrl + U; из браузера):
<script src="client.js"></script>
Переместив курсор на client.js
, я получил фактическое местоположение: http://127.0.0.1:1337/client.js
.
Кажетсяправильно, верно?
Проблема:
При открытии этой ссылки открывается требуемый файл, но содержимое выглядит так, как server.js
должно возвращаться.
Это не позволяет мне включатьлюбые внутренние скрипты и таблицы стилей!
Я думаю, чтовсе, что проходит через http://127.0.0.1:1337/
(также http://127.0.0.1:1337/client.js
, http://127.0.0.1:1337/a/b/c
и т. д.), обрабатывается через server.js - и server.js возвращает index.html (см. Выше).
Как это исправить?Спасибо за любой совет!