我是node.js
的新手。繼一些教程,我創建了一個名爲server.js
文件,並把這個代碼在該文件中:意外的令牌:io.listen(服務器)
var http = require("http");
var url = require('url');
var fs = require('fs');
var server = http.createServer(function(request, response){
console.log('Connection');
var path = url.parse(request.url).pathname;
console.log(path);
switch(path){
case '/':
response.writeHead(200, {'Content-Type': 'text/html'});
response.write('hello world');
break;
case '/socket.html':
response.writeHead(200, {'Content-Type': 'text/html'});
response.write('Inside hello world');
fs.readFile(__dirname + path, function(error, data){
if (error){
response.writeHead(404);
response.write("opps this doesn't exist - 403");
}
else{
response.writeHead(200, {"Content-Type": "text/html"});
response.write(data, "utf8");
}
});
break;
default:
response.writeHead(404);
response.write("opps this doesn't exist - 405");
break;
}
response.end();
});
server.listen(8001);
var io.listen(server);
然後我運行這個使用命令:node C:\Users\user\Desktop\server.js
和我得到這個錯誤:
C:\Users\user\Desktop\server.js:38
var io.listen(server);
^
SyntaxError: Unexpected token .
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3
這行會導致錯誤:
var io.listen(server);
起初我以爲安裝的10封裝socket.io
所以我嘗試這樣:
npm install --save socket.io
但是,這也我收到了同樣的錯誤後:
C:\Users\user\Desktop\server.js:38
var io.listen(server);
^
SyntaxError: Unexpected token .
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3
請指點如何解決這個錯誤。
你爲什麼說'var'然後不聲明變量? – berrberr 2014-09-24 16:40:13
即使我刪除'var',我得到的錯誤:'io.listen(server); ReferenceError:io沒有定義# – user182944 2014-09-24 16:42:29
所以在你使用它之前要求它:'var io = require('socket.io');' – berrberr 2014-09-24 16:44:20