2016-06-13 15 views
0

これは私の最初のExpress restfullアプリケーションです。 server.jsを実行した後、私はHello, World!メッセージを得るが、私はこのメッセージを取得するFireFoxの上http://localhost:3020/helloworld URLを入力した後に期待:Nodejs単純なアプリケーションでGET/helloworldできません

Cannot GET /helloworld 

コード:

var express = require('express'); 
var router = express.Router(); 
var app = express(); 
var server = require('http').createServer(app); 
var port = process.env.PORT || 3020; 

/* GET home page. */ 
router.get('/helloworld', function(req, res) { 
    res.render('helloworld', { title: 'Hello, World!' }); 
}); 

server.listen(port, function() { 
    console.log('Server listening at port %d', port); 
}); 
+0

Expressルータのドキュメント - http://expressjs.com/en/guide/routingを.html#express-router –

答えて

5

あなたがいない上、ルータ上でルートを定義していますアプリ。

var router = express.Router(); 

は、アプリとは別のルータです。あなたは間違って何をしている

var app = express(); 

、あなたが/helloworldルートが定義されているアプリにルータを設置していないです。

次のいずれかの操作を行います。

app.get('/helloworld', function(req, res) { 
    res.render('helloworld', { title: 'Hello, World!' }); 
}); 

さもないと、あなたのアプリに次の行を追加します。

app.use('/',router); 
+0

その後にurlを入力すると、次のエラーが表示されます。 'Error:デフォルトエンジンが指定されておらず、拡張機能も提供されていません。 at new view(/var/www/signal/nodeJs/node_modules/express/lib/view.js:48:42) 'render'を' console.log( "dddddddd"); ' –

+0

@Mahdiに変更しました。 Pishguy .. 'view engine'を指定する必要があります。どのテンプレートを使用するのですか? http://expressjs.com/ –

+0

で 'view engine'を読んでいます。しかし、私はどんなビューも必要としません。私はjson形式のメッセージとしてコンソールに単純なメッセージをエコーし​​たいのですが、どうすれば私のルートを変更できますか? –

関連する問題