2016-12-29 3 views
0

Socket.io можно использовать на общей странице html, но его нельзя использовать на странице усов?Узел js, как совместить Socket.io с усами

Например:

app.js

var app = express(); 
app.use(express.static(path.join(__dirname, 'public'))); 
// view engine setup 
app.set('views', path.join(__dirname, 'views')); 
app.set('view engine', 'mustache'); // name your templates 
app.engine('mustache', require('hogan-middleware').__express); 
var routes = require('./routes/index'); 
app.use('/', routes); 

маршруты \ index.js

var express = require('express'); 
var router = express.Router(); 
var app = express(); 
var server = require('http').Server(app); 
var io = require('socket.io').listen(server); 
var request = require('request'); 
var serialport = require('serialport'); 
var Serialport = serialport; 

router.get('/machine_mode', function(req, res, next) { 

    res.render('machine_mode', { title: 'test' }); 
}); 

io.sockets.on('connection',function(socket){ 
    var str='hello'; 
    io.sockets.emit('view',str); 
}); 

Просмотры \ test.mustache

<body> 
    </body> 
    <script src="/js/jquery-1.9.1.min.js"></script> 
    <script src="/socket.io/socket.io.js"></script> 
    <script> 
    jQuery(function($){ 
     var socket = io.connect(); 
     socket.on('str',function(data){ 

     }) 

    }); 

ошибка тестовой страницы: не может получить

http://localhost:8001/socket.io/socket.io.js 

ответ

0

app.js

var express = require('express'); 
var router = express.Router(); 
var app = express(); // Brackets Missing 
var server = require('http').createServer(app); // Need to do like this 

var io = require('socket.io').(server); // Need to pass server 

var request = require('request'); 
var serialport = require('serialport'); 
var Serialport = serialport; 

router.get('/machine_mode', function(req, res, next) { 

    res.render('machine_mode', { title: 'test' }); 
}); 

io.on('connection',function(socket){ // io.socket is not required 
    var str='hello'; 
    sockets.emit('view',str); 
}); 
+0

я должен сделать "вар Io = требуется ('Socket.io') (сервер)." и "var server = require ('http'). createServer (приложение); "в" routes \ index.js ". Я не могу сделать это в" routes \ index.js "? –

Смежные вопросы