node.js / socket.io как отделить JavaScript от HTML?

0

Я хочу отделить Javascript-код Html.

Это мой текущий index.html:

   <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title>Test</title>
        </head>

        <body>
            <p>Welcome</p>
            <script src="/socket.io/socket.io.js"></script>
            <script>
              var socket = io.connect('http://localhost');
            </script>
        </body>
    </html>

И я бы хотел:

index.html

   <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title>Test</title>
        </head>

        <body>
            <p>Welcome</p>
            <script src="client.js"></script>
        </body>
    </html>

client.js

var io = require('socket.io');
var socket = io.connect('http://localhost');

Мой маршрут сервера задан так: (express + fs)

app.get('/', function(req, res) {
    fs.readFile('./index.html', 'utf-8', function(error, content) {
        res.writeHead(200, {"Content-Type": "text/html"});
        res.write(content);
        res.end();
    });
});

Мне также нужно отправить client.js? На самом деле, Javascript Console на index.html говорит: "Невозможно GET http :: localhost/client.js".

Есть идеи? Большое спасибо.

Николя.

Теги:
file
socket.io

1 ответ

0
Лучший ответ

Вы должны добавить папку для статического контента, а затем добавить это в свою экспресс-конфигурацию:

app.configure(function(){
    app.use(express.static(__dirname + '/public'));
});

После этого вы можете удалить app.get('/')

  • 0
    Спасибо, это работает! Я выбрал мобильное обнаружение, чтобы определить, к какому устройству подключено По этому я хочу отобразить другую страницу. До вашей помощи я мог справиться с этим в маршруте "app.get ('/')", но теперь я понятия не имею. Вы знаете, как я мог это сделать? Спасибо !
  • 1
    Если вы хотите обработать маршрут '/' от сервера, вам нужно переименовать ваш index.html в index_desktop.html или index_mobile.html, а затем вы можете использовать маршрут get ('/') и отобразить файл, который вы необходимо req.headers тип клиента с помощью: req.headers

Ещё вопросы

Сообщество Overcoder
Наверх
Меню