我正在构建的Node APP遇到麻烦。
应用程序文件夹结构:
应用网址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无法正确设置静态文件夹。
这可能是因为未正确设置静态文件夹吗?
express.static
从某处接收数据,并将此数据应用于您域的根。实际上,您可以通过添加一些结构将文件保存在另一个文件夹中。在您的情况下,设置app.use(express.static(__dirname + '/public'));
并将assets放在app1内,然后放在myapps文件夹中。所有这些都应该放在public文件夹