Express + socket.io: клиентский скрипт socket.io равен 404

Это сводит меня с ума ... хотя у меня есть рабочая версия Express + Socket.io, я не могу воспроизвести ее с нестандартным box NPM устанавливается в новую папку проекта. Может ли кто-нибудь указать, что мне не хватает...? Вот мой процесс:

Я создаю папку node_modulesв каталоге моего проекта ( pwd), затем делаю:

npm install express
npm install socket.io

Выполнение этих двух команд помещает пакеты в моего проекта. ] папка node_modules, как и ожидалось. Теперь я настроил свой сервер следующим образом:

var express = require('express'),
    server = express.createServer().use( express.static(__dirname+'./public') ).listen( 8080 ),
    io = require('socket.io').listen(server);

Моя папка publicсодержит статические ресурсы для моего приложения. Моя общедоступная индексная HTML-страница содержит тег сценария для:

<script src="/socket.io/socket.io.js"></script>

Наконец, я запускаю свой серверный сценарий и перехожу к приложению в веб-браузере. Все мои статические общедоступные файлы обслуживаются правильно, однако я получаю ошибку 404 для /socket.io/socket.io.js. Теперь я могу заменить пакет expressиз другого старого проекта, и вся эта система заработает. Каким-то образом этот экземпляр пакета настроен по-другому, но я не могу понять, как это воспроизвести. На веб-сайте Express упоминается что-то об установке зависимостей, хотя запуск npm install -d, похоже, не помогает (есть ли определенный pwd, который мне нужно использовать во время работы npm install -d?).Я полагаю, что мне не хватает чего-то важного в настройке нового экземпляра Express после его установки с помощью NPM.

Спасибо за любую информацию!

5
задан bigmac 27 June 2012 в 19:08
поделиться