我有一台 Nginx 服务器,我想在其上托管两个独立的反应应用程序,我们将它们称为 Aapp 和 Bapp。
文件夹结构如下
- Aapp(目录)
- 索引.html
- 脚本.js
- 样式.css
- Bapp(目录)
- 索引.html
- 脚本.js
- 样式.css
- ..其他文件和目录
然后我的配置文件设置如下:
server {
root home/user/Aapp;
index index.html;
location ^~ /Bapp {
allow all;
alias /home/user/Bapp;
}
....
}
访问 URL my-domain/Bapp 成功显示来自文件夹“Bapp”的 index.html,但它包含来自“Aapp”的 script.js 和 style.csss,而不是来自“Bapp”的 script.js 和 style.csss。
有没有办法告诉服务器,如果文件请求来自 Bapp 文件夹,它应该使用“Bapp”文件夹文件?还是我需要在应用程序构建脚本中更新它?(不理想,因为不同的环境可能不同)
答案1
您需要在应用程序设置中处理应用程序的基本 URL 设置:https://stackoverflow.com/questions/48134785/how-to-set-a-base-url-for-react-router-at-the-app-level
nginx 无法很好地处理这个问题。
答案2
这个问题可能更多是基于脚本而不是服务器的。在您的 React 应用中,您是否将文件引用为 src="/script.js" 或只是 src="./script.js"?
我想象的问题是,您的脚本引用的是绝对主目录,即 /home/user/Aapp,而不是引用相对位置。