在ExpressJS中运行多个应用程序

Running multiple apps within ExpressJS

本文关键字:应用程序 运行 ExpressJS      更新时间:2023-09-26

我目前在IIS7上运行iisnode。目前只有一个应用程序(app.js)在那里使用MongoDB。为了澄清,当我说"app"时,我指的是一个实际的ExpressJS应用程序。

我想能够做的是主机多个快递应用程序从同一个地方。例如,如果你去/app2/,它会在那个文件夹中加载app.js。我认为重写规则是可行的,但我不确定这是最好的方法。也许它会更好,只是有某种类型的控制器切换到一个应用程序取决于子域或路径?

这是我想要的结构:

Site Root
|_ app1/
|  |___ app.js
|  |___ routes/
|  |___ models/
|  |___ public/
|
|_ app2/
   |___ app.js
   |___ routes/
   |___ models/
   |___ public/

只是把这个问题放在那里,得到一些关于这种设置的最佳方法的建议。Iisnode通常只配置一个app.js:

<handlers>
  <add name="iisnode" path="app.js" verb="*" modules="iisnode" />
</handlers>

也许可以有多个或者app.js像代理一样?

感谢任何帮助!

我会创建一个包装express应用程序,并使用它来转发路由到您的两个应用程序。这就是《Express》一书的作者TJ Holowaychuk所推荐的方法。