Vue 上线部署遇到的问题

1,解决跨域问题,设置反向代理

然后编辑配置文件,将下图选中部分删掉

反向代理就设置ok啦,然后开心的打开项目,发现跳转过页面后,浏览器不能刷新,一刷新就出现404页面。

这个解决办法就是修改配置文件可以实现

Apache配置如下:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.html [L]
</IfModule>

Nginx配置如下:

location / {
  try_files $uri $uri/ /index.html;
}

将上面的配置按照服务器的环境选取放到下图位置即可:

 这样虽然可以实现浏览器刷新不跳404了。

但是这么做以后,你的服务器就不再返回 404 错误页面,因为对于所有路径都会返回 index.html 文件。为了避免这种情况,你应该在 Vue 应用里面覆盖所有的路由情况,然后在给出一个 404 页面。

const router = new VueRouter({
  mode: 'history',
  routes: [
    { path: '*',name:'NotFoundComponent',component: NotFoundComponent }
  ]
})

如果上图配置完后出现了 Uncaught Error: Invalid path "*"  

就把 " * " 改成 " /:pathMatch(.*) " 

实列代码如下:

{ path: '/:pathMatch(.*)', name:'NotFoundComponent',component: NotFoundComponent }

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
SpringBoot和Vue项目的部署上线到Linux可以按照以下步骤进行操作: 1. 准备好Linux服务器,确保安装了Java环境和Node.js环境。 2. 打包SpringBoot后端项目,在SpringBoot项目的根目录下,运行以下命令进行打包: ``` mvn clean package ``` 执行成功后,会在target目录下生成一个可执行的jar文件。 3. 将打包好的SpringBoot项目上传到Linux服务器上的指定目录,比如`/root/app`。 4. 在Linux服务器上,使用以下命令启动SpringBoot项目: ``` java -jar /root/app/your-project.jar ``` 其中`your-project.jar`是你上传的jar文件的名称。 5. 确保SpringBoot项目启动成功后,开始部署Vue前端项目。 6. 进入Vue项目的根目录,运行以下命令进行打包: ``` npm run build ``` 打包成功后,会在项目根目录下生成一个dist目录,里面包含了打包好的静态资源文件。 7. 将打包好的Vue项目的静态资源文件复制到SpringBoot项目的静态资源目录下,比如`/root/app/dist`。 ``` cp -r /root/your-vue-project/dist/* /root/app/src/main/resources/static ``` 8. 修改SpringBoot项目的配置文件application.properties(或application.yml),确保配置了静态资源文件的路径: ``` spring.resources.static-locations=classpath:/static/ ``` 9. 重新启动SpringBoot项目。 10. 在浏览器中访问服务器的公网IP地址加上SpringBoot项目的端口号,即可访问部署好的SpringBoot和Vue项目。 通过以上步骤,你就可以成功将SpringBoot和Vue项目部署上线到Linux服务器了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值