O navegador não consegue encontrar o recurso /socket-io/socket-io.js, (Console sempre exibe 'Uncaught ReferenceError: io is not defined' . Também tentei importar o js de um endereço externo, o browser até fica fazendo as requisições, mar o alert não é chamado. Alguém tem alguma luz?
app.js
var app = require('./config/express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.set('io', io );
app.listen(3000, function(){
console.log("servidor rodando... ");
});
promocoes.js
module.exports = function(app){
app.get('/promocoes/form', function(req, res){
var connection = app.infra.connectionFactory();
var produtoDAO = new app.infra.ProdutoDAO(connection);
produtoDAO.lista(function(err, results){
res.render('promocoes/form', {lista : results});
});
connection.end();
});
app.post('/promocoes', function(req, res){
var promocao = req.body;
app.get('io').emit('novaPromocao', promocao);
res.redirect('promocoes/form');
});
}
html (incluído antes do fechamento da tag body)
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io();
socket.on('novaPromocao', function (data) {
alert(data.livro.id);
});
</script>
S.O ubuntu 16.04, testei no chrome e no firefox, sem sucesso.