2013-09-28 24 views
0

我曾經有過下面的一段代碼在我玉模板:Express無法找到更新後,我的節點模塊3.x的

script(src='lib/angular/angular.js') 
script(src='/socket.io/socket.io.js') 
script(src='js/app.js') 
script(src='js/services.js') 
script(src='js/controllers.js') 
script(src='js/filters.js') 
script(src='js/directives.js') 

一切加載除了socket.io。更新到3.X之後,它沒有正確加載,給了我「未捕獲的SyntaxError:意外的標記<」並加載鉻檢查時下列文件:

<!DOCTYPE html><html ng-app="myApp"><head><meta charset="utf8"><base href="/"><title>Angular Socket.io IM Demo App</title><link rel="stylesheet" href="/css/app.css"></head><body><h1>Angular Socket.io IM Demo App</h1><div ng-controller="AppCtrl"><div class="col"><h3>Messages</h3><div class="overflowable"><p ng-repeat="message in messages" ng-class="{alert: message.user == &quot;chatroom&quot;}">{{message.user}}: {{message.text}}</p></div></div><div class="col"><h3>Users</h3><div class="overflowable"><p ng-repeat="user in users">{{user}}</p></div></div><div class="clr"><form ng-submit="sendMessage()">Message:<input size="60" ng-model="message"><input type="submit" value="Send"></form></div><div class="clr"><h3>Change your name</h3><p>Your current user name is {{name}}</p><form ng-submit="changeName()"><input ng-model="newName"><input type="submit" value="Change Name"></form></div></div><script src="lib/angular/angular.js"></script><script src="/socket.io/socket.io.js"></script><script src="js/app.js"></script><script src="js/services.js"></script><script src="js/controllers.js"></script><script src="js/filters.js"></script><script src="js/directives.js"></script></body></html> 

這僅僅是編譯的索引頁...

我是Express的新手,無法弄清楚如何讓它識別我的node_modules。任何幫助表示讚賞。

server.js

/** 
* Module dependencies. 
*/ 

var express = require('express'), 
    app = express(), 
    path = require('path'), 
    routes = require('./app/routes'), 
    http = require('http'), 
    socket = require('./app/routes/socket.js'), 
    server = http.createServer(app); 

// Hook Socket.io into Express 
var io = require('socket.io').listen(server); 

// Configuration 

app.configure(function(){ 
    app.set('views', __dirname + '/app/views'); 
    app.set('view engine', 'jade'); 
    app.set('view options', { 
    layout: false 
    }); 
    app.use(express.bodyParser()); 
    app.use(express.methodOverride()); 
    app.use(express.static(__dirname + '/public')); 
    app.use(app.router); 
}); 

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.get('/partials/:name', routes.partials); 

// redirect all others to the index (HTML5 history) 
app.get('*', routes.index); 

// Socket.io Communication 

io.sockets.on('connection', socket); 

// Start server 

app.listen(3000); 
+0

另外:你有一個重複的和不必要的第二個腳本標記socket.io.js。 –

回答

1

變化app.listen(3000);server.listen(3000);。 express/http/socket.io集成樣板文件非常複雜且易於複製,無需關注。

+0

謝謝,這解決了我的問題 – Neil

相關問題