You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue 3迁移Nuxt 3后,如何正确引入vue-toastification组件?

Vue 3迁移Nuxt 3后正确配置vue-toastification的方法

vue-toastification目前没有官方适配Nuxt 3的模块,所以直接在nuxt.config的modules数组中添加会报错,按以下步骤配置即可:

1. 安装适配Vue 3的版本

确保安装的是支持Vue 3的vue-toastification版本:

npm install vue-toastification@next
# 或使用yarn
yarn add vue-toastification@next

2. 创建Nuxt客户端插件

在项目根目录的plugins文件夹下,创建toast.client.js文件(后缀.client用于指定仅在客户端环境执行,避免服务端渲染报错),内容如下:

import Toast from 'vue-toastification'
import 'vue-toastification/dist/index.css'

export default defineNuxtPlugin((nuxtApp) => {
  // 注册Toast插件,可在这里配置全局默认参数
  nuxtApp.vueApp.use(Toast, {
    position: 'bottom-center',
    timeout: 2000
  })
})

Nuxt 3会自动加载plugins目录下的插件,无需额外在nuxt.config中配置。

3. 在组件中使用

方式一:使用<script setup>(Nuxt 3推荐写法)

<script setup>
import { useToast, POSITION } from 'vue-toastification'
const toast = useToast()

const copy = (text) => {
  toast.success('Copied!', {
    timeout: 2000,
    position: POSITION.BOTTOM_CENTER
  })
  navigator.clipboard.writeText(text)
}
</script>

方式二:保持Options API写法

<script>
import { useToast, POSITION } from 'vue-toastification'

export default {
  methods: {
    copy(text) {
      const toast = useToast()
      toast.success('Copied!', {
        timeout: 2000,
        position: POSITION.BOTTOM_CENTER
      })
      navigator.clipboard.writeText(text)
    }
  }
}
</script>

内容的提问来源于stack exchange,提问作者user11595150

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 17:15:34