两个Vue项目对应一个springboot项目

方案一:(一起打到springboot项目的jar包里)

两个Vue项目对应一个springboot项目_第1张图片
两个Vue项目对应一个springboot项目_第2张图片
两个Vue项目对应一个springboot项目_第3张图片
两个Vue项目对应一个springboot项目_第4张图片
坑:
背景:
使用WebStorm单独开发的vue独立项目,为了部署方便。是npm run build 后,把dist里面的静态文件复制到springboot项目下,然后使用内置tomcat当做web项目运行。
现象:
1/在WebStorm中使用npm run service运行联调,运行正常.
2/将静态资源复制到idea的static文件夹下,localhost:8080/index.html或者本机IP都运行良好。
3/但是打包出来的jar文件,单独使用java -jar 运行的时候,会提示找不到某个css样式文件.
原因:
WebStorm中静态文件的css样式文件存在(但是大小是0kb,里面没有内容),当这个css样式文件随便添加一些内容后,重新打包,再使用java -jar 就正常运行了.查找vue代码发现样式文件中的style全部注掉了,所以才造成了这个css文件,打包后没有内容,将这个注掉的style删掉就不会生成这个为空的css文件,而造成jar包运行异常了.

网上的解决方案有,
1、nginx代理
2、配置路由:https://www.csdn.net/tags/NtzaMg2sODg0NzUtYmxvZwO0O0OO0O0O.html
这个也没弄明白

3、实在没办法,将其中的一个vue项目的入口文件改个名字。
其中有webpack模板的解决方法,我没试。
另一种是:http://ask.sov5.cn/q/oI3HfMkfx3
修改vue.config.js文件

let proxyObj = {};
proxyObj['/'] = {
    ws: false,
    target: 'http://localhost:8088',
    changeOrigin: true,
    pathRewrite: {
        '^/': '/'
    }
}

module.exports = {
    devServer: {
        host: '192.168.31.249',
        port: 8082,
        proxy: proxyObj
    },
    // 这个代码起的作用
    chainWebpack: (config) => {
        config.plugin('html').tap((opts) => {
            opts[0].filename = './indexApi.html';
            return opts;
        });
    },
}

springboot的后台项目
项目resources下面创建几个文件夹,并且放上4张图片,1/2/3/4图片均可访问到
两个Vue项目对应一个springboot项目_第5张图片
所以,剩下的就是按照一般步骤将vue项目文件放到resources目录下就可以了。

你可能感兴趣的:(前端_vue,vue)