Vue错误汇总
1.NavigationDuplicated
在全局路由进行跳转时出现了这个错误
1 | /** |
解决方法:
(1) 又说是在跳转时进行捕获(使用router.push时,请进行catch处理,将这个错误捕获。)
1 | router.beforeEach((to, from, next) => { |
2.Invalid Host header
使用vue cli 3.x之后,我本地已经讲hosts中的127.0.0.1指向了bibichuan.github.io了,访问自定义的域名:bibichuan.github.io,出现了问题:Invalid Host header。
1 | var path = require('path') |
参考文章中说:这是由于新版的webpack-dev-server出于安全考虑,默认检查hostname,如果hostname 不是配置内的,将中断访问。
1.vue项目提示Invalid Host header
3.打包后页面空白
打包后出现空白,可以从下面两个方面入手
(1) vue.config.js 配置相对目录
1 | module.exports = { |
(2) 关闭route的history模式
(3) 有一种情况就是在vite 中配置了 envDir: ‘./env’, // 环境目录,所以导致 import.meta.env.VITE_BASE_URL 出不来。
1 | const router = createRouter({ |
也就是说你在根目录下创建了 .env .env.production .env.development 三个文件,使用了 envDir 之后就找不到相关的配置了。
4.error and 0 warnings potentially fixable with the --fix
option.
在vue进行打包的时候,有时候会出错,有时候不会出错。其实这个问题,主要就是使用了eslint进行代码检查造成的。
我引入了外部的js文件,只需要在文件的开头写上一句话就可以了。
1 | /* eslint-disable */ |
1.errors potentially fixable with the
--fix
option报错的解决 (这是问题的解决方法说明)2.针对单个 js 文件禁用 ESLint 语法校验 (单个文件的忽略)
3.ESLint 忽略特定的文件和目录 (特定文件的忽略)
5.store为空
我自定义了一个request中,想要直接使用store中的内容,但是出现了store输出为空的情况,但是像在server.interceptors.request.use中使用就不为空的情况。
1 | import axios from "axios" |
至于原因吗,我觉得是加载的时机问题,当我引入request.js的时候,还没有引入store还没有被创建,我只能这么理解了。
1.vue 如何在 .js 文件引入 store
5.This dependency was not found:* core-js/fn/promise in ./src/store/index.js
在vue中使用Promise的时候,爆出了这个粗错误:
我只是使用了return返回了一个Promise,然后就出现依赖不满足,但是查询同样的问题,似乎没有相关的信息。
1 | async getUserConfig(context){ |
但是按提示,执行:
1 | npm install --save core-js/fn/promise |
又会出现新的问题:
问题出现了在使用vscode的时候,不知道什么时候,文件的头部出现了:import { reject, resolve } from ‘core-js/fn/promise’这句话,删掉就好了。
6.Cannot find module ‘@babel/helper-regex’
在我使用macos开发vue应用运行:npm run serve 的时候,出现了这个问题,在windows上开发就没有这个问题。
但是我执行了安装@babel/helper-regex的命令之后,再次运行 npm run,还是出现模块不存在的问题。
1 | npm install --save-dev @babel/helper-regex |
7.caniuse-lite is outdated.
今天在mac上打包运行vue的程序的时候出现了这个问题,不知道是因为什么。
8.The stylesheet https://phems.proheng.net/css/app.1621226575669.css was not loaded because its MIME type, “text/html”, is not “text/css”
今天部署网站的时候,突然出现了这个问题,无法加载css文件,简直非常的纳闷,服务器什么都没有动,昨天还好好的,今天突然就无法浏览了网站,这是什么问题呢?
在我查看生成的index.html中的link标签,发现没有type=”text/css” 这个属性。
1 | <link href=css/chunk-02316de6.d6a34d41.css rel=prefetch> |
更为郁闷的是,火狐浏览器和谷歌浏览器返回的内容竟然不一样。谷歌浏览器可以正常的返回并解析正确的文件类型,但是火狐浏览器就是无法解析,并且出现了:NS_BINDING_ABORTED错误。
nginx无法识别css和图像:资源被解释为样式表,但使用MIME类型text / html进行传输 我觉得增加类型传输比较有用,就像下面的一样
1 | location ~ \.css { |
1.Stylesheet not loaded because of MIME-type
2.Sping Boot 页面css无法加载 because its MIME type (‘application/json’) is not a supported stylesheet …
3.webpack 打包后 首页有很多 link 标签 ,ref=prefetch 和 ref=preload (这里使用了config.plugins.delete(‘preload’)、config.plugins.delete(‘prefetch’) 去掉了link 标签中的preload和prefetch)
4.Nginx服务器导致CSS无法解析不起效果 (我这里的配置文件中包含了mime.types)
5.MiniCssExtractPlugin (官方的MiniCssExtractPlugin插件的配置,但是我配置了linkType之后,生成的html中,还是没有type这个字段)
6.vuecli3关闭 Prefetch (vue关闭Prefetch预加载)
9.Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (88)
这个问题在windows上没有出现,但是在MasOS上出现了,卸载重装了node-sass之后,可能会出现新的问题:Node Sass version 6.0.0 is incompatible with ^4.0.0,只能卸载node-sass,安装指定版本
1 | #先卸载node-sass |
1.Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (88) 这里有解决方案:1.install / downgrade node.js to a stable version (LTS) like 14.15.0;2.install the compatible node-sass version via npm install node-sass@4.14.0; you can find the list here, or even install gulp-sass with npm i gulp-sass –save-dev. 降级nodejs版本,或者是安装gulp-sass
2.【已解决】vue运行出错:Module build failed Error Node Sass does not yet support your current environment OS X 64-bit with Unsupported runtime 59 卸载重装node-sass
3.详细解决方案:Node Sass does not yet support your current environment: OS X 64-bit with Unsupported runtime 卸载重装指定版本,比如node-sass@4.14.1