在 heroku 应用程序中以 express 方式提供静态文件

Serving static files in express in heroku app

我有 两个 svelte (SPA) 应用程序 - 一个用于管理员,一个用于 public,我正在尝试用一个 express 为它们提供服务服务器。 当我 运行 这段代码在我的本地主机上时它工作正常,但在 heroku 中我在管理页面的静态文件上得到 404(客户端应用程序很好)。

我的项目结构: server.js client public build bundle client public build bundle

这是我的 html 产生无效调用的页面

<head>
    <link rel='icon' type='image/png' href='/favicon.png'>
    <link rel='stylesheet' href='/admin/global.css'>
    <link rel='stylesheet' href='/admin/build/bundle.css'>
    <script defer src='/admin/build/bundle.js'></script>
</head>

这是我的快速路线:

app.get('/admin', utils.ensureToken, (req, res, next) => {
    app.use(express.static(path.join(__dirname, 'admin/public')));
    res.sendFile(path.resolve('admin', 'public', 'index.html'));
});

app.get('/', (req, res) => {
    res.sendFile(path.resolve('client', 'public', 'index.html'));
});
app.use('/admin', express.static(path.join(__dirname, 'admin/public')));
app.use(express.static(path.join(__dirname, 'client/public')));

尝试在 express 上混合路径,但似乎没有用。提前致谢。

最后是 package.json 出了问题。 忘记了脚本 "heroku-postbuild" 还需要 运行 "admin" npm 启动。