2017-04-27 52 views
0

我剛剛開始使用Socket.IO,但無法正常運行。她的字碼要求(...)不是函數

app.js

var app = require('express')(); 
var http = require('http').Server(app); 

app.get('/', function(req, res){ 
    res.sendFile('index.html'); 
}); 

http.listen(3000, function(){ 
    console.log("Listening On Port *: 3000"); 
}); 

的index.html

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Hello World</title> 
    </head> 
    <body> 
     Hello World 
    </body> 
</html> 

當我嘗試使用節點或nodemon來運行它,都已經安裝了,我已經socket.io全球的裝機量(v1.7.3),它顯示

TypeError: require(...) is not a function 
    at Object.<anonymous> (I:\Bilal\Aptech\Tutorials Point Practice\Socket.IO\Chapter 1 - Hello World\app.js:1:91) 
    at Module._compile (module.js:571:32) 
    at Object.Module._extensions..js (module.js:580:10) 
    at Module.load (module.js:488:32) 
    at tryModuleLoad (module.js:447:12) 
    at Function.Module._load (module.js:439:3) 
    at Module.runMain (module.js:605:10) 
    at run (bootstrap_node.js:423:7) 
    at startup (bootstrap_node.js:147:9) 
    at bootstrap_node.js:538:3 
[nodemon] app crashed - waiting for file changes before starting... 

回答

0

我想,那是因爲你嘗試調用需要作爲結尾與()功能。試試這個:

var app = require('express');

否則,試試這個:

var express = require('express'); var app = express();

+0

我試過你說的TypeError:app.get不是函數 在Object。在Module._compile(module.js:571:32) (在Object.Module中) (I:\ Bilal \ Aptech \ Tutorials Point Practice \ Socket.IO \ Chapter 1 - Hello World \ app.js:4:5)在module.load(module.js:488:32) at tryModuleLoad(module.js:447:12) at Function.Module._load(module。)._extensions.js(module.js:580:10) at Module.load (bootstrap_node.js:423:7) at bootstrap_node.js:bootstrap_node.js:147:9) : 538:3 –

+0

請參閱https://www.tutorialspoint.com/socket.io/socket.io_hello_world.htm。我的代碼是一樣的!! –

+0

它的工作!將它標記爲答案很快:)非常感謝:) –

0

你可能沒有明示安裝,如果沒有安裝requir ED(「表達」)返回null這是不是一個功能

修復運行

npm install express 
+0

我可以運行快速結點應用的罰款。我已經在全局安裝了所有模塊,並且已將NODE_PATH設置爲node_modules –

+0

它可能是Express版的舊版本嗎?我只是在我的系統上嘗試了你的代碼,並且它在快速安裝的情況下運行得很順暢,也可以嘗試使用console.log(typeof require('express')); 這應該告訴你什麼是返回 –

+0

我已經更新我的node_modules之前運行它! :) –