vue项目 npm run build 出现如下报错: import/no-unresolved

error Unable to resolve path to module '@/utils/china.json' import/no-unresolved

报错截图在这里插入图片描述

咋一眼看过去这问题就是.png的图片资源不存在
但是确定、肯定、绝对图片是存在的,不信你看图。
在这里插入图片描述

但是说实话,昨天还好好好~今天起来装依赖就不行了。

解决方法1(不推荐):

.eslintrc.js文件中增加一行配置'import/no-unresolved': 'off',如下图:

这是 忽略这个鬼东西类型的报错,但是你的保证得是文件真的都存在

在这里插入图片描述再编译一下,就不报错了:

npm run build

因为它真的不给你校验啦,我乱填一通,他也不报错,所以不推荐
在这里插入图片描述

网上也有这样的写法,一样的道理。

"import/no-unresolved": [
  2,
  {
    
    
      "ignore": ["^@/"] // @ 是设置的路径别名
  },
],

解决方法2(推荐):

左边是新拉下来的依赖package_lock.json 右边是上一次不会报错的package_lock.json
在这里插入图片描述
猜测可能是这个版本问题,一路往上找,看看是谁用到了 eslint-import-resolver-node ^0.3.4
全局搜索package_lock.json发现就是@vue/eslint-config-airbnb 5.3.0
在这里插入图片描述

修改^5.0.25.0.2在这里插入图片描述

# 删除node_modules 和 package_lock.json
rm -rf node_modules
rm -rf package_lock.json
# 重新安装依赖
npm i
# 尝试重新编译
npm run build

可能就能正常编译了。

~~如果还是不行,报错,那继续往下看吧
在这里插入图片描述
报这个import/no-unresolved错误:

这次仔细观察,发现在package_lock.json中发现:@vue/eslint-config-airbnb引入的eslint-import-resolver-node版本还是0.3.9,根据上一次不会报错的是0.3.7版本。

于是关键解决办法来了:直接增加一条"eslint-import-resolver-node": "0.3.7" 固定这个版本
在这里插入图片描述
执行命令

# 重新装依赖
npm i 
# 重新编译
npm run build

构建成功
在这里插入图片描述

最终安装的版本是eslint-import-resolver-node:0.3.7。
因为^符号会装最新版本。
最主要就是修改package.json,解决了问题。

猜你喜欢

转载自blog.csdn.net/m0_37680500/article/details/132333045