vue和springboot项目部署到Linux服务器
写在前面的话 前后端分离的项目中,需要分别部署前端与后端项目。前端项目使用npm打包,将得到的dist文件夹下的内容上传到服务器后,用nginx的alias指向文件夹即可访问,而后端项目使用maven打包,需使用tomcat在后台启动,再通过nginx转发,供前端项目调用。 打包 前端的打包 前端项目使用的是vue-element-admin的基础版本:vue-admin-template 根据教程从github上下载后,在webstorm中运行成功。 原项目中只有前端,但可以完成简单的数据交互,根据使用手册介绍,该项目使用了mockjs模拟数据。 而我们需要做前后端交互,故不使用mockjs。 修改为访问后端的路径 方法很简单,在根目录下的.env.development文件下,将VUE_APP_BASE_API改为你的本地后端地址。 .env.development VUE_APP_BASE_API = 'http://localhost:8080' 在根目录下的.env.production文件下,将VUE_APP_BASE_API改为你的云服务器的后端地址。 .env.production # just a flag ENV = 'production' # base api VUE_APP_BASE_API = 'http://???????/springbootdemo' 这里可能会有一些小bug,主要是要与服务器的路径对应起来。 根据该项目package.json内所设置的,使用npm run build:prod打包,生成dist文件夹 最后得到dist文件夹。 后端的打包 编写接口 首先,编写Controller,写一些接口。 package com.windypath.demo.controller; import com.windypath.demo.response.ResponseData; import com.windypath.demo.response.ResponseDataUtil; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RequestMapping("/") @RestController public class MainController { @RequestMapping("/hello") public ResponseData hello() { return ResponseDataUtil.buildSuccess("hello!"); } @RequestMapping("/") public ResponseData root() { return ResponseDataUtil.buildSuccess("root!"); } } 此处使用的ResponseData来自于https://blog....