2017-04-15 2 views
-1

enter image description here enter image description here`localhost:3000/users`を検索すると見つかりませんでした。どうしましたか?

私はapp.use() app.js中とrouter.get() users.jsで、エクスプレスのフレームワークを使用しています。 localhost:3000/users/uを検索するとうまくいきますが、localhost:3000/usersを検索すると404エラーです。どうしましたか?

+1

コードは画像としてではなく、正しい形式のテキストとして含めてください。 – jcaron

答えて

3

これは、/usersコールがお客様のusers.jsモジュールにリダイレクトされ、/を処理しないためです。これを修正するには、単純にルートを追加します。

コールapp.use(「ユーザー」は、ユーザー)、ユーザーが呼び出され、その後、それは(reqは、RES、次の)router.handleを呼び出します
// users.js 

router.get('/', function (req, res) { 
    console.log('It works'); 
    // ... 
}); 
+0

しかし、私がlocahost:3000/usersを呼び出すと、なぜapp.use()のusers関数が処理できないのですか?ユーザーと呼ばれるapp.useのfnもありますか? – ZHONGJIAFENG

+0

あなたは 'express.Router '(' users'モジュール)を 'app.use'の第2引数として渡すので。だから、このルータに '/'ルートを書き込んでコールをキャッチする必要があります。 –

0

app.use('/users', users)あなたが作成したusersオブジェクトのすべてのルートを相対パスで取得します。したがって、ユーザーオブジェクトに/uを作成すると、元のURLはhttp://hostname:port/users/uになります。そのパスを処理できるルートを/usersにしていません。

users.jsにrouter.get('/')ルートを作成すると、すべて正常です。

関連する問題