📜  如何在同一 Express 服务器上设置具有不同基本目录的多个 Web 应用程序?(1)

📅  最后修改于: 2023-12-03 14:52:54.722000             🧑  作者: Mango

在同一 Express 服务器上设置具有不同基本目录的多个 Web 应用程序

在 Express 框架中,你可以轻松地在同一个服务器上设置多个 Web 应用程序,每个应用程序具有不同的基本目录。这意味着你可以在同一个服务器上托管多个独立的应用程序,每个应用程序有自己的路由和资源。

下面是一个简单的介绍,帮助你了解如何在同一个 Express 服务器上设置具有不同基本目录的多个 Web 应用程序。

步骤 1: 创建 Express 应用程序

首先,你需要创建一个 Express 应用程序。运行以下命令来初始化一个新的 Express 应用程序:

$ npx express-generator myapp

这将在一个名为 myapp 的新文件夹中生成 Express 应用程序的基本结构。

步骤 2: 定义路由和控制器

在每个应用程序中,你需要定义自己的路由和控制器来处理不同的请求。在 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 的路由。

步骤 3: 设置基本目录

在 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 文件夹。

步骤 4: 启动服务器

最后,启动 Express 服务器以监听请求并提供多个应用程序。在应用程序的根文件夹中,运行以下命令来启动服务器:

$ npm start

现在,你的 Express 服务器将同时托管具有不同基本目录的多个 Web 应用程序。

总结

通过按照上述步骤,在同一个 Express 服务器上设置具有不同基本目录的多个 Web 应用程序非常简单。你可以为每个应用程序定义自己的路由和控制器,并使用 express.static() 中间件设置每个应用程序的基本目录。

希望这个简单的介绍对你有所帮助!Happy coding!