Vue3+vant库处理showToast报错正确姿势:Can‘t resolve ‘vant/es/show-toast‘

文章讲述了在Vue项目中遇到Vant库的showToast报错问题,通过排查配置错误、移除babel-plugin-import插件以及调整全局注册方式解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1 . 首先,要排除是自己配置全局引用错误导致的问题

 2. 排除不是自己引用问题,进入下一步

移除 babel-plugin-import

3. 在此时, 似乎就已经解决showToast报错问题,


环境:  "vant": "^4.6.3",

1 . 首先,要排除是自己配置全局引用错误导致的问题

要确保自己引用Toast没问题

在vue页面正确的使用Toast相关提示框 

 这里关于app.use(vent相关组件) ,个人建议写在注入路由app.use(router)的上面,

因为我之前貌似刚开始用vant因为use顺序问题,导致vant死活不生效,,,

备忘:今天是刚开始用vant库的第4天,部分使用vant某个组件报错等等,一般会在vant官方相对应组件页面底部有官方解决问题指导

 2. 排除不是自己引用问题,进入下一步

     参考官方指导文档解决showToast报错办法

移除 babel-plugin-import

从 Vant 4.0 开始,将不再支持 babel-plugin-import,请移除项目中依赖的 babel-plugin-import 插件。

只需要删除 babel.config.js 中的以下描红代码即可:

module.exports = {
  plugins: [
    ['import', {
      libraryName: 'vant',
      libraryDirectory: 'es',
      style: true
    }, 'vant']
  ]

};

3. 在此时, 似乎就已经解决showToast报错问题,

但是你会发现vue项目热加载,还是报该错误

 这个时候, 你需要ctrl+c终止该vue项目运行

重新运行项目,

yarn serve

你将会发现showToast报错消除

上面为2023/8/5

8/28,

发现自己main.js全局注册vant库的方式欠妥, 改为以下方式全局注册更加简洁, 

import Vant from 'vant'

import 'vant/lib/index.css'

const app = createApp(App)

app.use(Vant) 

这样除了Toast信息vant组件外,其他vant组件就不用像我开始上面那样手动指定注册

### Vant `showToast` 方法的用法与参数 #### 使用方法 为了在 Vue3 中使用 Vant 的 `showToast` 函数,需先安装并配置好 Vant 。由于 unplugin-vue-components 插件不支持自动引入函数形式组件的样式,所以需要手动导入相应的 CSS 文件。 ```javascript // main.js 或 setup文件中全局注册 import { createApp } from &#39;vue&#39;; import App from &#39;./App.vue&#39;; const app = createApp(App); app.use(Vant); // 如果是按需加载则不需要此句 app.mount(&#39;#app&#39;); // 手动引入 Toast 样式 import &#39;vant/es/toast/style&#39;; // 需要显式地加入这行来确保样式被正确应用[^2] ``` 对于单个页面或组件内的局部调用: ```javascript <script> import { showToast } from &#39;vant&#39;; export default { name: "ExampleComponent", methods: { showCustomMessage() { showToast({ message: &#39;这是一个自定义样式的轻提示&#39;, className: &#39;custom-toast-class&#39; }); } }, }; </script> <style scoped lang="scss"> .custom-toast-class { background-color: rgba(0, 0, 0, .8); } </style> ``` 当遇到类似 “Can&#39;t resolve &#39;vant/es/show-toast” 这样的错误时,可以通过调整 Webpack/Babel 配置中的 alias 设置来解决问题[^3]。 如果发现 toast 提示框背景颜色不对等问题,则可以尝试通过设置额外类名来自定义样式,并利用更高优先级的选择器覆盖默认样式[^4]。 ```python # Python 示例仅用于说明如何编写代码块,实际逻辑无关 def python_example(): pass ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上河雨滴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值