Ошибка получения файла socket.io/socket.io.js. Я сделал это:socket.io/socket.io.js - не найден. Node.js, express.js и socket.io app
/**
* Module dependencies.
*/
var express = require('express')
, routes = require('./routes');
var io = require('socket.io').listen(express);
var app = module.exports = express.createServer();
// Configuration
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
app.configure('development', function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
app.configure('production', function(){
app.use(express.errorHandler());
});
// Routes
app.get('/', routes.index);
app.listen(3000, function(){
console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);
});
io.on('connection', function(socket){
console.log('a user connected');
});
io.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});
Мой файл layout.jade выглядит следующим образом:
doctype html
html
head
title= title
script(src='//code.jquery.com/jquery-1.11.2.min.js')
script(src='/bootstrap/js/bootstrap.min.js')
link(rel='stylesheet', href='/stylesheets/style.css')
link(rel='stylesheet', href='/bootstrap/css/bootstrap.min.css')
script(src='/socket.io/socket.io.js')
script.
var socket = io();
body!= body
и package.json файл:
{
"name": "application-name",
"version": "0.0.1",
"private": true,
"dependencies": {
"express": "2.5.8",
"jade": ">= 0.0.1",
"socket.io": "^1.3.2"
}
}
Я установил Socket.io с НПМ, все файлы находятся в каталоге node_modules. Я попытался скопировать файл socket.io.js в/public, но также есть ошибка. Я пытался решить эту проблему разными способами - с документами socket.io, учебником чата и сообщением StackOverflow. Каждый раз, когда я пытаюсь решить проблему socket.io, возникает проблема. Что-то не так в моем коде? Что я должен сделать, чтобы эта работа работала правильно?
В '.listen (express)' 'express' не является сервером. –
большое спасибо. Я меняю файл .listen (express) на .listen (приложение), и теперь он отлично работает! –
Мне очень жаль, я не заглянул в ваш комментарий, поэтому ответил внизу. @AlanSobieraj – NarendraSoni