Это сводит меня с ума ... хотя у меня есть рабочая версия 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.
Спасибо за любую информацию!