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

问题描述 投票:0回答:1

我有two个苗条(SPA)应用程序-一个用于管理员,一个用于公众,并且我正在尝试使用一台快速服务器来为这两个应用程序提供服务。当我在本地主机上运行此代码时,它工作正常,但在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')));

尝试混合快递上的路径,但似乎没有用。提前致谢。

node.js express routing single-page-application svelte
1个回答
0
投票

最后是问题的package.json。忘记脚本“ heroku-postbuild”也需要运行“ admin” npm start。

© www.soinside.com 2019 - 2024. All rights reserved.