Express静态文件夹无法正确加载

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

我正在构建的Node APP遇到麻烦。

应用程序文件夹结构:

  • 控制器//控制器
  • helpers // helpers
  • config //一些配置文件
  • public //存储内置的角度应用程序
  • ...

应用网址1:www.domain.com应用程式网址2:www.another.com/myapps/app1

所以这就是我设置静态文件夹以加载资产的方式:

app.use(express.static(__dirname + '/public'));

这就是我将如何访问静态文件夹中的文件:

URL1: www.domain.com/assets/main.js
URL2: www.another.com/myapps/app1/assets/main.js

现在,问题是,如果我在URL1上部署该应用程序,则一切运行正常。但是将应用程序部署到URL2会给我带来一些问题。

无法通过URL2上的应用访问静态文件。我得到404(无法获取...)。

www.another.com/myapps/app1/assets/main.js // returns 404
www.domain.com/assets/main.js // returns the JavaScript file.

[URL2上运行了多个应用程序,这就是为什么我使用上下文将应用程序分开的原因。我最初的想法是,由于URL2上URL的附加上下文,express无法正确设置静态文件夹。

这可能是因为未正确设置静态文件夹吗?

node.js angular express static
1个回答
0
投票

express.static从某处接收数据,并将此数据应用于您域的根。实际上,您可以通过添加一些结构将文件保存在另一个文件夹中。在您的情况下,设置app.use(express.static(__dirname + '/public'));并将assets放在app1内,然后放在myapps文件夹中。所有这些都应该放在public文件夹

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