`localhost:3000/users`を検索すると見つかりませんでした。どうしましたか?
私はapp.use()
app.js中とrouter.get()
users.jsで、エクスプレスのフレームワークを使用しています。 localhost:3000/users/u
を検索するとうまくいきますが、localhost:3000/users
を検索すると404エラーです。どうしましたか?
`localhost:3000/users`を検索すると見つかりませんでした。どうしましたか?
私はapp.use()
app.js中とrouter.get()
users.jsで、エクスプレスのフレームワークを使用しています。 localhost:3000/users/u
を検索するとうまくいきますが、localhost:3000/users
を検索すると404エラーです。どうしましたか?
これは、/users
コールがお客様のusers.js
モジュールにリダイレクトされ、/
を処理しないためです。これを修正するには、単純にルートを追加します。
// users.js
router.get('/', function (req, res) {
console.log('It works');
// ...
});
しかし、私がlocahost:3000/usersを呼び出すと、なぜapp.use()のusers関数が処理できないのですか?ユーザーと呼ばれるapp.useのfnもありますか? – ZHONGJIAFENG
あなたは 'express.Router '(' users'モジュール)を 'app.use'の第2引数として渡すので。だから、このルータに '/'ルートを書き込んでコールをキャッチする必要があります。 –
それがパスに一致する場合、関連するパスがない場合、404が見つかりませんでしたエラーが発生します。 呼び出しアドレス:あなたはまだ/users
ルートを行っていない https://github.com/expressjs/express/blob/master/lib/router/index.js#L47
。
app.use('/users', users)
あなたが作成したusers
オブジェクトのすべてのルートを相対パスで取得します。したがって、ユーザーオブジェクトに/u
を作成すると、元のURLはhttp://hostname:port/users/u
になります。そのパスを処理できるルートを/users
にしていません。
users.jsにrouter.get('/')
ルートを作成すると、すべて正常です。
コードは画像としてではなく、正しい形式のテキストとして含めてください。 – jcaron