【多项目整合上线】遇到的部署问题

本文讲述了作者尝试将多个项目整合到一个SPA应用中,通过路由跳转实现不同页面展示,遇到的问题包括静态页面刷新失效、链接指向静态与后端项目失败。通过调整路径引用和部署策略,解决了部分问题,但还需解决样式差异和URL美化。
摘要由CSDN通过智能技术生成

我的思路是把多个项目,统一写到一个项目里面,用路由进行链接跳转,

项目主体为一个静态页面项目,作为网站入口,页面内布置两个链接,跳向另外两个静态页面,还有一个链接,跳向一个有后端的电商后台管理系统项目,虽然有多个页面要展示,但是实际上是打算用router来做成SPA,

所以我把前端代码放到后端代码的public文件夹下,后端用express框架的中间件,可以让其运行,
然后使用pm2工具,保持该主体项目的持续运行,

理论上是没问题的,但是过程遇到了蛮多问题的,比如,

  • 静态网页进去后,一刷新就找不到页面
  • 另外想跳转的另外两个静态项目也找不到页面
  • 有后端的那个项目,就别提了,因为我连登录页面都打不开

找了好多帖子,也没看到解决办法
我因为之前遇到过部署静态,无法显示的问题,我结合这个问题,觉得现在应该是静态文件无法跳转,就在本地做实验,把router都换成hash的,在package.json处加上homepage,在build出来的静态文件,就能打开,但是样式还是出了问题,看了一下,是因为在index.html的css引入的link标签下写了相对引用,如果不加./在有服务器的情况下,动态运行是木有问题的,但是在静态直接打开的时候,就找不到css文件, 所以要想在静态能直接打开,就要加上 ./ , 要想动态能运行,即线上运行,不写 ./ 直接写 / 也是可以的

    <!-- 相对引用可能会出问题 ,但是相对引用可以对静态页面起作用,在没有服务器的情况下-->
    <!-- <link rel="stylesheet" href="./css/reset.css"> -->
    <link rel="stylesheet" href="/css/reset.css">

改了之后再重复部署环节的操作,确实是可以在5000端口打开,但是我发现其中的样式还是出了点问题,有些地方和在本地运行的时候不一样,还需要再看看是哪里出了问题,但是大问题已经解决了,(解决了,是因为本地的继承了antd的样式,但是线上的没有把antd的css打包),只是我觉得hashRouter的url有点丑,有个#号,但是我暂时不知道怎么解决这个问题,应该改回去后就根本打不开了,下面是流程图

把前端代码放入public里,再传入后端代码到网站目录文件夹下
在这里插入图片描述
要在阿里云和宝塔两边都把端口开放,安全组的设置,因为有用到数据库,mongoDB打开27017,后端打开5000,(本地运行的前端是打开的3000,但是在此处好像没必要,因为前端是静态的一起运行在5000上了),然后pm2添加后端任务就行
在这里插入图片描述

最后就可以通过5000端口访问了,可以设置一个映射,然后就在80端口,直接输网站域名就行,但是在这之前要把之前的同名网站删除,然后就可以来.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值