2017-06-10 14 views
-2

私はNodeJSにExpressJS Webフレームワークを使用しています。ノードエクスプレスで作成されたページを呼び出すことができないのはなぜですか?

新しいページを作成して呼び出すときに404エラーメッセージが表示される理由がわかりません。

私のディレクトリ構造:

| my-application 
    | src 
     | routes 
      | index.js 
      | single.js 
     | views 
      | index.pug 
      | single.pug 
     | ... 

コードsingle.jsroutesフォルダ:

var express = require('express'); 
var router = express.Router(); 

/* GET single page. */ 
router.get('/single', function(req, res, next) { 
    res.render('single', { title: 'Blog single' }); 
}); 

module.exports = router; 

コードapp.js中:

// ... 
var index = require('./src/routes/index'); 
var single = require('./src/routes/single'); 

app.use('/', index); 
app.use('/single', single); 
// ... 
+2

ようこそ。この[how-to-ask](http://stackoverflow.com/help/how-to-ask)を読んでそこのガイドラインに従って、プログラミングを記述するコードやエラーメッセージなどの追加情報を使用して質問を洗練してください問題。 – thewaywewere

+0

コードを画像として投稿しないでください – jAC

答えて

0

このコード行:

app.use('/single', single); 

singleルータは、/singleではなく、/single/singleのルートハンドラを作成します。すべての/singleルートを処理するルータを登録し、そのルータ自身が/singleを登録して/single/singleのハンドラを作成します。

router.get()/singleの代わりに/だけに変更するか、またはapp.use()にパスを持たないように変更することができます。ルータを変更したいと思うかもしれません。

関連する問題