私はノード/エクスプレスにかなり慣れていませんが、これまでのところ気に入っています。
いくつかのアプリを作成して気づいたことの 1 つは、要求オブジェクトのプロパティ値が、必要なモジュール内の要求間で保持される場合があることです。必ずしも同じ IP またはブラウザからであるとは限りません。
たとえば、次の非常に単純な GET リクエストを見てみましょう。
GET /lookup/?first=ben&last=ipsen
これは次のように処理されます。
app.get('/lookup/', function(req, res){
lookup = require('lookup')
lookup.find_user(req, res, function(err, user){
if(err) throw new Error(err)
res.send(user)
});
});
明らかに、これはうまく機能し、人生は素晴らしいものです。ただし...空の値または値がない2番目のリクエストを受信した場合は、次のように言います。
GET /lookup/?first=
app.get('/lookup/', function(req, res){
lookup = require('lookup')
lookup.find_user(req, res, function(err, user){
if(err) throw new Error(err)
// user.first = ben
// user.last = ipsen !?
res.send(user)
});
});
これは、require cache and not express の障害によって引き起こされた問題ですか? リクエスト内でモジュールをロードするのは間違いですか? リクエストに基づいて特定のモジュールをロードしたい場合がたくさんありますが、その「要件」がなくても生きていける.. har.
私は確かにここでいくつかの初心者の問題を経験していますが、いつものようにガイダンスをいただければ幸いです!