2016-11-27 9 views
0

私はサーバーを作成して起動しようとしています。私は他のコードを見ていますが、なぜ私が動作していないのかわかりません(ちょうどこれを得る:localhostは読み込みと読み込みを続けますが何も起こりません)。 アイデアありがとう!!!ノードエクスプレスサーバーは動作していません - サーバーを作成して起動する方法は?

アプリケーション/サーバ/ app.js:

'use strict' 

var express= require ('express'); 
var path=require('path'); 
var bodyParser = require('body-parser'); 
var http = require('http'); 

var app= express(); 
module.exports = app; 

app.use(express.static(path.join(__dirname, '../browser'))); 
app.use(bodyParser.urlencoded({ extended: false })); 
app.use(bodyParser.json()); 


var server = http.createServer(); 
    server.listen(1337, function() { 
     console.log('Server is listening on port 1337!'); 
    }); 

app.use(function (err, req, res, next) { 
console.error(err.stack); 
res.status(500).send(err.message); 

})。

アプリ/ブラウザ/ index.htmlを:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <title>node</title> 
</head> 
<body> 
    <div> 
    <p>Hey whats up</p> 
    </div> 
    </body> 
</html> 

答えて

1

あなたのコードの作品私のために。

あなたのコードで間違った唯一のことは、あなたがサーバー .listen(1337、機能を()に変更する必要がある...、アプリ .listen(1337、関数(){...へ

はまた、Iはファイルパス...

app.get( '/'、関数(REQ、RES)を{加え res.sendFile(path.join(__ DIRNAME、 '/index.htmlが')) ;})

...あなたのlocalhost:1337をindex.htmlファイルにリンクするにはe。 localhost:1337に行くとindex.htmlファイルが表示されます。

最後に、この行が必要かどうかわかりません。var server = http.createServer();。私はそれを削除し、すべて正常に働いた。

以下のコードがあります。

'use strict' 
 

 
var express= require ('express'); 
 
var path=require('path'); 
 
var bodyParser = require('body-parser'); 
 
var http = require('http'); 
 

 
var app= express(); 
 
module.exports = app; 
 

 
app.use(express.static(path.join(__dirname, '../browser'))); 
 
app.use(bodyParser.urlencoded({ extended: false })); 
 
app.use(bodyParser.json()); 
 

 
app.get('/', function(req, res){ 
 
\t res.sendFile(path.join(__dirname, '/index.html')); 
 
}) 
 

 
    app.listen(1337, function() { 
 
     console.log('Server is listening on port 1337!'); 
 
    }); 
 

 
app.use(function (err, req, res, next) { 
 
console.error(err.stack); 
 
res.status(500).send(err.message); 
 

 
});

+0

それが機能するようになりました、ありがとうございました。あなたが言ったように、app.listenに変更したとき、すべての作業が開始されました。なぜあなたは私に説明することができますvar server = http.createServer(); server.listenは動作しないので理解していますか?チュートリアルで見てきたように、私は最初にサーバーを作成しなければなりません:var server = http.createServer();私が以前作成したサーバを起動する理由は何ですか?それはどうしたのですか?app.listen - 仕事(サーバーを作成しないと、どうやって起動できますか?それはapp.listenを介してですか?)。ありがとうたくさん!ありがとうたくさん! – learningcoding

+0

これは100%正しいかどうかは分かりませんが、Expressはそれが自分のHTTPモジュールだと信じています。 ** **あなたは** var server = http.createServer(); **と** server.listen **を使用していましたが、あなたは** Express **を使用しているので、ルーティングやその他の機能を使いやすくするために、Expressを使用してサーバーを作成することができます。これは** app.listen **というコードで行います。** var app = express()**、 ** app.listen **は** express()。listen **と同じですが、Expres – mfkogan

+0

を使用してサーバーを作成していることを意味しますので、app.listはサーバーを作成して起動します。var app = express()は自動的に次を作成します。私はapp.listenを使ってそれを始めますか? – learningcoding

0

あなたが書いたかもしれないポート - 1337がビジー状態である、たとえば4200のために、他のポートを選択することによって確認するか、3000からserver.listen(4200,function() {

関連する問題