在使用Vue CLI 3创建和运行项目时,可能会遇到各种各样的报错问题,这些错误可能涉及依赖包、配置文件、端口占用、浏览器兼容性等多个方面,以下为一些常见的错误及其解决方案。
我们来看一个关于依赖包的错误,在启动Vue CLI 3生成的项目时,会遇到类似以下的错误信息:
ERROR Error: Cannot find module ‘vueloaderv16/package.json’
这个错误表明项目在尝试访问vueloaderv16这个依赖包时失败了,解决这个问题的方法是安装缺失的依赖包,在命令行中,进入到项目目录,然后执行以下命令:
npm install savedev vueloaderv16
安装完成后,重新运行项目,通常这个错误就会消失。
还有可能是以下原因导致项目启动报错:
1、缺少vuecliservice依赖包:确保在项目中已经安装了vuecliservice,如果没有,可以通过以下命令安装:
“`
npm install savedev vuecliservice
“`
2、vue.config.js配置文件错误:检查项目的vue.config.js文件是否有语法错误或配置错误。
3、端口被占用:确保本地没有其他程序占用默认的8080端口,如果端口被占用,可以通过以下命令指定一个不同的端口:
“`
vuecliservice serve port 8081
“`
4、清除缓存:如果以上方法都无法解决问题,可以尝试清除缓存,然后重新运行项目:
“`
vuecliservice clean
“`
清除缓存后,重新运行:
“`
vuecliservice serve
“`
除了上述错误,有时候在特定浏览器上运行Vue CLI 3项目时,可能会遇到与SockJS相关的报错。
在火狐浏览器、IE浏览器和Edge浏览器上可能会出现以下报错:
火狐浏览器报错:“载入页面时与 ws://localhost:8080/sockjsnode/631/u0rsdsy0/websocket 的连接中断”
IE浏览器报错:“SCRIPT5022: SecurityError sockjs.js (1683,3)”
Edge浏览器报错:“SCRIPT12017: WebSocket Error: SECURITYERR, Cross zone connection not allowed”
针对这个问题,可以尝试以下解决方案:
1、找到项目目录下的node_modules/sockjsclient/dist/sockjs.js文件。
2、定位到代码的1605行,将以下代码注释掉:
“`
// self.xhr.send(payload); // 把这行注释掉
“`
3、保存文件并刷新浏览器。
需要注意的是,SockJS是一个JavaScript库,用于在浏览器和web服务器之间创建低延迟、全双工的通信通道,在某些情况下,由于浏览器的安全策略或兼容性问题,可能导致上述错误,通过注释掉相关代码,可以解决这类问题。
在遇到Vue CLI 3项目运行报错时,我们需要根据错误信息逐一排查问题,包括检查依赖包、配置文件、端口占用和浏览器兼容性等方面,在解决问题的过程中,可以参考社区提供的解决方案、官方文档以及相关技术文章,通过不断积累经验,相信您将能够更加熟练地解决项目运行过程中遇到的各种问题。