簡體   English   中英

將Socket.io與Node.js,Express和Jade結合使用

[英]Using Socket.io with Node.js, Express and Jade

我在使用Socket.io時遇到了一些麻煩,甚至只是為了測試是否已連接客戶端。 我已經嘗試了很多事情,但我認為我的錯誤可能是在執行app.get函數時。 我也嘗試在route js文件中執行此操作,但它也不是確定性的。 所以這是我的不同代碼:

App.js

/**
 * Module dependencies.
 */

var express = require('express');
var routes = require('./routes');
var user = require('./routes/user');
var http = require('http');
var path = require('path');
var mongo = require('mongodb');
var monk = require('monk');
var db = monk('mongodb://xxxxx:xxxxx@ds051067.mongolab.com:51067/jdo');

var app = express(), 
    server = http.createServer(app) ,
    io = require('socket.io').listen(server);

// all environments

app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(express.cookieParser('This is secret'));
app.use(express.session());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));

// development only
if ('development' == app.get('env')) {
  app.use(express.errorHandler());
}

io.sockets.on('connection', function (socket) {
    console.log('Un client est connecté !');
});

// app.get('/', routes.index);
app.get('/users', user.list);
app.get('/deplacement',routes.deplacement);
app.get('/monCompte', routes.compte);
app.get('/connexion', routes.connexion);
app.get('/', function(req, res) {
    res.render('index.jade');
});


server.listen(app.get('port'), function(){
  console.log('Express server listening on port ' + app.get('port'));
});

Index.jade

    extends layout

    block content

     script(src="/socket.io/socket.io.js").
      var socket = io.connect('http://localhost:3000');
        });

PS:對不起,如果我的英語不好^^

您不能在與所包含腳本相同的腳本標簽中使用嵌入式JavaScript。

extends layout

block content

script(src="/socket.io/socket.io.js")
script.
    var socket = io.connect('http://localhost:3000');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM