📜  Express.js 挂载事件

📅  最后修改于: 2022-05-13 01:56:30.847000             🧑  作者: Mango

Express.js 挂载事件

当子应用挂载到父应用上时,子应用会触发mount事件,并且父应用基本上是传递给回调函数的。

句法:

app.on('mount', callback(parent))

参数:是一个名为'mount'的事件,调用该事件时会调用回调函数。

返回值:由于它是一个事件,所以它没有任何返回值。

express模块的安装:

  1. 您可以访问安装 express 模块的链接。您可以使用此命令安装此软件包。
    npm install express
  2. 安装 express 模块后,您可以使用命令在命令提示符下检查您的 express 版本。
    npm version express
  3. 之后,您可以创建一个文件夹并添加一个文件,例如 index.js。要运行此文件,您需要运行以下命令。
    node index.js

示例 1:文件名:index.js

var express = require('express');
var app = express();  // The main app
var admin = express();
var PORT = 3000;
  
admin.on('mount', function (parent) {
  console.log('Admin Mounted');
});
  
admin.get('/', function (req, res) {
  res.send('Admin Homepage');
});
  
app.use('/admin', admin);
  
app.listen(PORT, function(err){
    if (err) console.log(err);
    console.log("Server listening on PORT", PORT);
});

运行程序的步骤:

  1. 项目结构将如下所示:
  2. 确保您已使用以下命令安装express模块:
    npm install express
  3. 使用以下命令运行 index.js 文件:
    node index.js

    输出:

    Admin Mounted
    Server listening on PORT 3000
    
  4. 现在打开浏览器并转到http://localhost:3000/admin ,现在您可以在屏幕上看到以下输出:
    Admin Homepage

示例 2:
文件名:index.js

var express = require('express');
var app = express();  // The main app
var student = express();
var teacher = express();
var PORT = 3000;
  
// Multiple mounting
teacher.on('mount', function (parent) {
    console.log('Teacher Mounted');
});
  
student.on('mount', function (parent) {
  console.log('Student Mounted');
});
  
app.use('/student', student);
app.use('/teacher', teacher);
   
app.listen(PORT, function(err){
    if (err) console.log(err);
    console.log("Server listening on PORT", PORT);
});

使用以下命令运行 index.js 文件:

node index.js

输出:现在打开浏览器,向http://localhost:3000发出 GET 请求,现在您可以在控制台上看到以下输出:

Student Mounted
Teacher Mounted
Server listening on PORT 3000

参考: https://expressjs.com/en/4x/api.html#app.onmount