Express 虚拟路径前缀不适用于 angular 6 应用程序

Express virtual path prefix not working with angular 6 app

我正在使用 express static

托管我的 angular 6 应用程序
app.use(express.static('/', __dirname +'/client/angular'));

当我试图将另一个页面作为登陆页面添加到我的服务器时,问题就出现了。所以我为我的 angular 应用程序指定了一个安装路径 '/app'。

app.use(express.static('/app', __dirname +'/client/angular'));

这是行不通的!当我 运行 服务器出来时

GET /app/ 304 4.294 ms - -

GET /inline.bundle.js/ 404 1.065 ms - 15

GET /polyfills.bundle.js/ 404 0.581 ms - 15

GET /styles.bundle.js/ 404 2.195 ms - 15

GET /vendor.bundle.js/ 404 2.119 ms - 15

GET /main.bundle.js/ 404 1.830 ms - 15

GET /favicon.ico 404 0.474 ms - 15

我解决了在虚拟路径“/home”中托管新网页的问题,并将我的 angular 应用默认托管在根路径中。

app.use('/home', express.static(__dirname +'/client/landing'));
app.use('/', express.static(__dirname +'/client/angular'));

但这些不是我需要的路线,有人知道如何在快速虚拟路径上安装 angular 应用程序吗?

进一步挖掘后,我发现我必须在 运行 ng 构建后生成的 dist 文件夹中修改 angular 应用程序的 index.html 文件。问题是基本 href 是“/”,所以当它需要 js 文件时却找不到它们。所以,我们所要做的就是更改它,使用与它在服务器中安装相同的路径

  <base href="/app">