解决方案:Springboot+Vue3+Mybatis+Axios 前后端分离项目中 遇见的若干报错和踩坑避坑(一)

简介: Springboot+Vue3+Mybatis+Axios 前后端分离项目中 遇见的若干报错和踩坑避坑


missing script:serve报错

问题:

npm ERR! missing script: serve
npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users.........

问题原因:

这个错误一般是忘记进入项目目录里面而导致的。

解决方案:

只需要先 cd 切换到创建的项目的目录里面再使用npm run

serve,否则就会报错

跨域限制:CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

问题:使用Axios无法成功跨域

Access to XMLHttpRequest at 'http://localhost:8080/api' from origin 'http://localhost:8088' has been blocked by CORS policy: 
No 'Access-Control-Allow-Origin' header is present on the requested resource.

问题原因:proxy代理没配置好,或者springboot端的接口对应不上。

解决方案:1、检查vue.config.js

module.exports = {
  devServer: { // 配置跨域代理
    host: 'localhost',
    port: '8088', //vue程序端口换成8088,避免与Spring Boot项目端口冲突
    https: false,
    open: true,
    proxy: {
      '/api': { // 匹配所有以 '/api'开头的请求路径
        target: 'http://localhost:8080', // 代理目标的基础路径
        changeOrigin: true, // 支持跨域
        pathRewrite: { // 重写路径: 去掉路径中开头的'/api'
          '^/api': ''
        }
      }
    }
  }
}

2、检查axios请求:

axios.get('http://localhost:8080/api/connect').then(function(response) {
            if (response.data) {
              console.log(response.data)
            }
          }).catch(function(error){
            console.log(error);
          })
          console.log("response done!")

3、检查后台代码,在后台controller加上@CrossOrigin注解

@RestController
@CrossOrigin
public class VueTest {
    @GetMapping("/api/connect")
    public String hivue(){
        System.out.println("vue connect success!");
        //System.out.println(mail);
        //System.out.println(password);
        return "regist successs";
    }
}

this.axios is not a function

问题:this.axios is not a function或者this.$axios is not a function

解决方案:Vue抛弃了this的概念,不要再用this.

运行项目失败 显示:npm ERR!  code ELIFECYCLE  errno 1  ..@0.1.0 serve: `vue-cli-service serve`

问题:

code ELIFECYCLE
npm ERR! errno 1
npm ERR! usermana@0.1.0 serve: `vue-cli-service serve`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the usermana@0.1.0 serve script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

问题原因:可能是在某次关闭项目时出错,是node_modules丢失了部分文件

解决方案:删除node_modules,重新配置和安装依赖包

首先删除node_modules,然后强制清除缓存,然后重新安装

rm package-lock.json
npm cache clear --force
npm install
相关文章
|
2月前
|
JavaScript 数据可视化
vue-cli学习一:vue脚手架的 vue-cli2和vue-cli3版本 创建vue项目,vue的初始化详解
这篇文章介绍了如何使用vue-cli 2和3版本来创建Vue项目,并详细说明了两者之间的主要区别。
99 5
vue-cli学习一:vue脚手架的 vue-cli2和vue-cli3版本 创建vue项目,vue的初始化详解
|
2月前
|
JavaScript 容器
乾坤qiankun框架搭建 主应用为vue3的项目。
乾坤qiankun框架搭建 主应用为vue3的项目。
168 2
|
2月前
|
JavaScript
Vue CLi脚手架创建第一个VUE项目
Vue CLi脚手架创建第一个VUE项目
36 3
|
1月前
|
数据采集 监控 JavaScript
在 Vue 项目中使用预渲染技术
【10月更文挑战第23天】在 Vue 项目中使用预渲染技术是提升 SEO 效果的有效途径之一。通过选择合适的预渲染工具,正确配置和运行预渲染操作,结合其他 SEO 策略,可以实现更好的搜索引擎优化效果。同时,需要不断地监控和优化预渲染效果,以适应不断变化的搜索引擎环境和用户需求。
|
26天前
|
JavaScript 前端开发
如何在 Vue 项目中配置 Tree Shaking?
通过以上针对 Webpack 或 Rollup 的配置方法,就可以在 Vue 项目中有效地启用 Tree Shaking,从而优化项目的打包体积,提高项目的性能和加载速度。在实际配置过程中,需要根据项目的具体情况和需求,对配置进行适当的调整和优化。
|
2月前
|
JavaScript 数据可视化
vue-cli学习二:vue-cli3版本 创建vue项目后,Runtime-Compiler和Runtime-only两个模式详解;vue项目管理器;配置文件的配置在哪,以及如何配置
这篇文章详细介绍了Vue CLI 3版本创建项目时的Runtime-Compiler和Runtime-only两种模式的区别、Vue程序的运行过程、render函数的使用、eslint的关闭方法,以及Vue CLI 2和3版本配置文件的不同和脚手架3版本创建项目的配置文件配置方法。
75 3
vue-cli学习二:vue-cli3版本 创建vue项目后,Runtime-Compiler和Runtime-only两个模式详解;vue项目管理器;配置文件的配置在哪,以及如何配置
|
2月前
|
JavaScript
如何在 Vue 项目中选择合适的模块格式
【10月更文挑战第20天】选择合适的模块格式需要综合考虑多个因素,没有一种绝对正确的选择。需要根据项目的具体情况进行权衡和分析。在实际选择过程中,要保持灵活性,根据项目的发展和变化适时调整模块格式。
21 7
|
1月前
Vue3 项目的 setup 函数
【10月更文挑战第23天】setup` 函数是 Vue3 中非常重要的一个概念,掌握它的使用方法对于开发高效、灵活的 Vue3 组件至关重要。通过不断的实践和探索,你将能够更好地利用 `setup` 函数来构建优秀的 Vue3 项目。
|
2月前
|
JavaScript 前端开发 编译器
在 Vue 项目中使用 ES 模块格式的优点
【10月更文挑战第20天】在 Vue 项目中使用 ES 模块格式具有众多优点,这些优点共同作用,使得项目能够更高效、更可靠地开发和运行。当然,在实际应用中,还需要根据项目的具体情况和需求进行合理的选择和配置。
37 6
|
1月前
|
JavaScript 测试技术 UED
解决 Vue 项目中 Tree shaking 无法去除某些模块
【10月更文挑战第23天】解决 Vue 项目中 Tree shaking 无法去除某些模块的问题需要综合考虑多种因素,通过仔细分析、排查和优化,逐步提高 Tree shaking 的效果,为项目带来更好的性能和用户体验。同时,持续关注和学习相关技术的发展,不断探索新的解决方案,以适应不断变化的项目需求。