node.js - شرح - express vpn




في Express ، ما الذي يفعله app.router بالضبط؟ (2)

عندما أقوم بإنشاء نموذج لتطبيق Express باستخدام الثنائي السريع ، فإن كود bootstrap يحتوي على هذه السطور:

...

var app = express();
...
app.use(app.router);

لم أجد الكثير عن app.router. اعتقدت أن هذه هي الوسيطة التي تتعامل مع قواعد التوجيه (app.get () ، app.post () الخ ، لكن هذه القواعد يتم تنفيذها أيضا عندما أقوم بإزالة app.use (app.router) ؛ خط.

فما هو بالضبط purpuse من هذه الوسيطة؟


في Express 3.x ، يعد app.router نسخة محسّنة من جهاز التوجيه الوسيط الوصل . كما قال هيكتور ، كان هذا هو Express يعالج معالجات الطلبات المسجلة مع app.get ، app.post ، إلخ.

إذا لم تتصل بـ app.use(app.router) بشكل صريح ، فسوف يطلق عليه التعبير صراحةً في المرة الأولى التي تستخدم فيها app.get(...) ، app.post(...) ، إلخ. ومع ذلك ، قد ترغب في لاستخدامها بشكل صريح ، لأنك اخترت ترتيب جميع البرامج الوسيطة الخاصة بك.

app.use(express.favicon());
app.use(express.bodyParser());
app.use(express.methodOverride());
// app.get, app.post, etc called before static folder
app.use(app.router); 
app.use(express.static(path.join(__dirname, 'public')));

انظر كيف يتم استرجاع الموجه في مصدر Express 3 here .

لاحظ أن Express 4 لا تحتاج إلى app.router .


لقد تم إهمال هذا الأسلوب

لماذا نستخدم جهاز التوجيه ... لأننا بحاجة إلى ربط التطبيق الفرعي لدينا التطبيق الرئيسي لدينا.







express