📅  最后修改于: 2023-12-03 14:52:54.722000             🧑  作者: Mango
在 Express 框架中,你可以轻松地在同一个服务器上设置多个 Web 应用程序,每个应用程序具有不同的基本目录。这意味着你可以在同一个服务器上托管多个独立的应用程序,每个应用程序有自己的路由和资源。
下面是一个简单的介绍,帮助你了解如何在同一个 Express 服务器上设置具有不同基本目录的多个 Web 应用程序。
首先,你需要创建一个 Express 应用程序。运行以下命令来初始化一个新的 Express 应用程序:
$ npx express-generator myapp
这将在一个名为 myapp
的新文件夹中生成 Express 应用程序的基本结构。
在每个应用程序中,你需要定义自己的路由和控制器来处理不同的请求。在 Express 中,你可以使用 app.get()
、app.post()
等方法来定义路由。
在 routes
文件夹中创建一个新的路由文件,然后在其中定义你的路由逻辑。例如,创建一个名为 index.js
的文件:
const express = require('express');
const router = express.Router();
router.get('/', (req, res) => {
res.send('Hello from App 1!');
});
module.exports = router;
接下来,在 app.js
文件中加载上述路由文件:
const indexRouter = require('./routes/index');
app.use('/app1', indexRouter);
这将表示在路径 /app1
下加载了名为 index.js
的路由。
在 Express 中,你可以使用 express.static()
中间件来为每个应用程序设置不同的基本目录。基本目录用于存放应用程序的静态资源,如 HTML、CSS、JavaScript 文件等。
在 app.js
文件中,添加以下代码来设置每个应用程序的基本目录:
app.use('/app1', express.static(path.join(__dirname, 'public/app1')));
app.use('/app2', express.static(path.join(__dirname, 'public/app2')));
这将把路径 /app1
映射到 public/app1
文件夹,并将路径 /app2
映射到 public/app2
文件夹。
最后,启动 Express 服务器以监听请求并提供多个应用程序。在应用程序的根文件夹中,运行以下命令来启动服务器:
$ npm start
现在,你的 Express 服务器将同时托管具有不同基本目录的多个 Web 应用程序。
通过按照上述步骤,在同一个 Express 服务器上设置具有不同基本目录的多个 Web 应用程序非常简单。你可以为每个应用程序定义自己的路由和控制器,并使用 express.static()
中间件设置每个应用程序的基本目录。
希望这个简单的介绍对你有所帮助!Happy coding!