我有多个 node 应用程序(基于Express framework构建).

现在我把它们放在这样的位置-

  • /var/www/app1
  • /var/www/app2
  • /var/www/app3

现在我想在同一个端口上运行这3个应用程序(比如8080).可能吗?

需要注意的一点是,每个应用程序都有类似的通用路径-

  • app.get('/', func...);
  • app.get('/about', func...);
  • app.post('/foo', func...);
  • app.post('/bar', func...);

基本上,我想像你使用Apache/PHP安装程序那样做.

所以当你有-

  • /var/www/app1
  • /var/www/app2
  • /var/www/app3

您可以通过不同的应用程序轻松访问它们-

  • localhost/app1
  • localhost/app2
  • localhost/app3

推荐答案

你可以使用app.use():

app
  .use('/app1', require('./app1/index').app)
  .use('/app2', require('./app2/index').app)
  .listen(8080);

Node.js相关问答推荐

node 上的磁盘压力

在Android Studio中react 本机构建失败:未正确检测到Node.js版本

FiRestore UPDATE方法引发错误:&Quot;错误:13内部:收到代码为1&Quot;的RST_STREAM

如何在 Firestore 函数上使用类型模型来获取字段值

使用更新版本仍然找到包@angular/fire但不支持原理图

Solidity 将数据位置从内存更改为存储

Indexeddb 获取所有不同于特定值的记录

错误:0308010C:try 通过 Github 推送部署到 firebase 托管时出现数字

将代码转换为 ES6 Discord.js 的问题

Mongodb 从文档中获取聚合结果中的特定属性

WSL2 上需要脚本运行的 NPM 包的权限被拒绝

仅显示用户在 Reactjs 中使用服务器端发布的帖子是 Node Js、Mongodb

如何在 TypeScript 中输出 Hackerrank 二叉树问题?

如何将使用 Gulp 的 node 部署到 heroku

Node.js、Cygwin 和 Socket.io 走进一家wine 吧……Node.js 抛出 ENOBUFS,所有人都死了

带有加密的nodejs中的SALT和HASH密码

具有多个条件的mongoose 查找

Passport 的 req.isAuthenticated 总是返回 false,即使我硬编码 done(null, true)

名称类型为 mongoose 的字段

如何断言不为空?