Express.js 挂载事件
当子应用挂载到父应用上时,子应用会触发mount事件,并且父应用基本上是传递给回调函数的。
句法:
app.on('mount', callback(parent))
参数:是一个名为'mount'的事件,调用该事件时会调用回调函数。
返回值:由于它是一个事件,所以它没有任何返回值。
express模块的安装:
- 您可以访问安装 express 模块的链接。您可以使用此命令安装此软件包。
npm install express
- 安装 express 模块后,您可以使用命令在命令提示符下检查您的 express 版本。
npm version express
- 之后,您可以创建一个文件夹并添加一个文件,例如 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);
});
运行程序的步骤:
- 项目结构将如下所示:
- 确保您已使用以下命令安装express模块:
npm install express
- 使用以下命令运行 index.js 文件:
node index.js
输出:
Admin Mounted Server listening on PORT 3000
- 现在打开浏览器并转到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