iframe父系统嵌入子系统,打包后子系统无法通过nginx访问的问题

本文介绍了一个具体的Nginx配置案例,用于将一个子系统嵌入到父系统中,并通过Nginx实现两个项目的代理。文章讨论了配置的具体细节及遇到的问题。

描述: 项目需求为在父系统中嵌入子系统, nginx代理同级目录下俩个项目

nginx配置如下: /pageOffice为子系统, /为父系统

    location ^~  /pageOffice/ {
            root   /cetec/;
            index index.html;
            try_files $uri $uri/ =404;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_set_header X-Real-IP @remote_addr;
        }
		
	location ^~  /api/pageOffice/save {
            proxy_pass http://localhost:8000;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_set_header X-Real-IP @remote_addr;
        }
		
	location  /pgo/ {
           proxy_pass http://localhost:8000;
           proxy_set_header Host $HOST;
        }

问题一、 nginx配置后, 子系统正常打包访问后出现语法错误提示,仔细看会发现是路径无法找到,出现(app.js, chunchk.js等)报错, 在子系统config.js中改一下即可

 publicPath: "/pageOffice",

问题二、 项目build后上线访问时出现index.html中引用路径错误, 鼠标放入后发现是中间少了一层结构,原来所有的script引入写错了, 改成./的形式即可

<script src="./js/jquery-1.8.2.min.js" type="text/javascript"></script>
<script src="./js/bootstrap.min.js" type="text/javascript"></script>
<script src="./js/jquery.isotope.min.js" type="text/javascript"></script>

问题三、子系统部署上线后在父系统中展示时出现404的错误, 而后将路由改为hash即可, 具体可参考文章   https://www.cnblogs.com/qdjj/p/12878286.html

问题四、当修改 publicPath后可能会出现跳转路由时无法找到的情况, 需要修改一下路由中的base得以解决

const router = new VueRouter({
  base:'/pageOffice',
  mode: 'hash',
  routes
})

此文字分享不具有统一性,只针对恰好遇到相同问题的同学进行尝试解决

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值