我想部署从主要应用程序继承的多个角度应用程序。
主应用程序位于以下地址: myapp.com (目录 / etc / local / nginx / html / myapp )
其他应用应位于以下地址: myapp.com/app_n (目录 / etc / local / nginx / html / app_n )
我该如何配置呢?
我尝试了以下配置,但它没有工作:
server {
listen 80;
server_name myapp.com;
location /app_1 {
alias /usr/local/nginx/html/app_1/dist;
}
location / {
root html/myapp/dist;
autoindex on;
include /etc/nginx/mime.types;
try_files $uri $uri/ /index.html =404;
}
}
当网址为 myapp.com/app_1 时,有角度表示"未找到网页"。在 app_1 的 index.html 中,有一个脚本:
<script src="main.bundle.js">
当我查看时,我发现 app_1 使用的 main.bundle.js 实际上属于 myapp 。我的原因是因为服务器名称是 myapp.com 。
感谢您的帮助!
答案 0 :(得分:0)
您正在使用路径相对URI来访问资源文件。浏览器通过查找当前页面的URL的最后/
来构造绝对路径。
因此,当使用网址http://myapp.com/app_1
访问包含<script src="main.bundle.js">
的网页时,浏览器会在http://myapp.com/main.bundle.js
查找资源文件。
如果您使用路径相对URI,则必须将最终/
放在正确的位置,因此:http://myapp.com/app_1/
和http://myapp.com/app_1/index.html
都会导致浏览器查找资源文件在http://myapp.com/app_1/main.bundle.js
。