Vue 里面引入第三方插件错误

2021-01-08 18:13:59 +08:00
 alexmao

今天下午折腾了好久一个错误,结果还是没解决。 我需要安装一个 toast 插件,在 npmjs 里面找到了很多个 toast 插件,最终安装这个 vue2-toastr,但是安装了并导入的时候,就一直出现这个报错。请 V2 里各位大佬帮忙看一眼可能是什么问题?

vue2-toastr.js:1 Uncaught TypeError: Cannot set property '$toast' of undefined
  at Object.install (vue2-toastr.js:1)
  at Object.use (runtime-core.esm-bundler.js:3063)
  at eval (main.js:21)
  at Module../src/main.js (app.js:1148)
  at __webpack_require__ (app.js:849)
  at fn (app.js:151)
  at Object.1 (app.js:1161)
  at __webpack_require__ (app.js:849)
  at checkDeferredModules (app.js:46)
  at app.js:925

main.js 文件内容如下:

import { createApp } from 'vue'
import App from './App.vue'
import Toastr from 'vue2-toastr'

createApp(App).use(Toastr).mount('#app')

感谢!

2547 次点击
所在节点    Vue.js
10 条回复
renmu123
2021-01-08 18:18:59 +08:00
应该 vue3 和 vue2 的组件不兼容
wgbx
2021-01-08 18:30:47 +08:00
感觉是不兼容,这种组件,要不找一个大公司的,走按需引用,要不自己写,引用这种小库,容易出现问题
alexmao
2021-01-08 21:04:15 +08:00
@renmu123 懂了,谢谢!
alexmao
2021-01-08 21:04:48 +08:00
@wgbx 好的,不知道 toast 有没有大公司的组件?
yetone
2021-01-08 22:46:47 +08:00
Vue 这种类型不安全的框架真的是一言难尽……
suzic
2021-01-08 23:08:12 +08:00
你是 vue3 的。目前确定 vant3.x 能满足你的需求,配一下按需引入其实也没多大
320266360
2021-01-09 08:27:29 +08:00
@alexmao mint-ui 里面有 toast 按需加载就可以用。
H15018327040
2021-01-09 10:14:30 +08:00
vue3 设置不支持 Vue.prototype.$toast=toast 这种方式,如果要使用全局属性,可以通过 Vue3 的 let app=createApp(),app.global.properties.$toast=toast 这种方式,也不能使用 this.$toast 这种方式使用。
H15018327040
2021-01-09 10:16:19 +08:00
记岔了,是 app.config.globalProperties
learningman
2021-01-09 11:39:02 +08:00
@H15018327040 我实测是可以的啊。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/743115

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX