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

使用VueI18n出现TypeError: Cannot read 'use' of undefined错误的解决方法

解决VueI18n报错:TypeError: Cannot read properties of undefined (reading 'use')

这个报错核心原因有两个:要么是app变量未定义,要么是VueI18n版本与Vue版本不匹配导致用法错误,下面分情况给出解决办法:

情况1:app实例未创建或未正确引入

你代码里直接调用app.use(VueI18n),但app是Vue3中通过createApp创建的实例,必须先创建才能使用;如果是Vue2环境,根本不需要app,直接用Vue.use()即可。

Vue3 修正代码:

import { createApp } from 'vue'
import App from './App.vue'
// Vue3需使用vue-i18n@9+,导入方式改为createI18n
import { createI18n } from 'vue-i18n'
import { languages } from './i18n/index.js'

// 先创建app实例
const app = createApp(App)

const locale = 'it'
const messages = Object.assign(languages)

// 创建i18n实例
const i18n = createI18n({
  locale: locale,
  fallbackLocale: 'it',
  messages
})

// 挂载i18n到app
app.use(i18n)
app.mount('#app')

export { i18n }

Vue2 修正代码:

import Vue from 'vue'
import VueI18n from 'vue-i18n' // Vue2需使用vue-i18n@8.x
import { languages } from './i18n/index.js'

// Vue2直接用Vue.use注册插件
Vue.use(VueI18n)

const locale = 'it'
const messages = Object.assign(languages)

const i18n = new VueI18n({
  locale: locale,
  fallbackLocale: 'it',
  messages
})

export { i18n }
// 后续在main.js中把i18n传入new Vue({ i18n })即可

情况2:VueI18n版本不匹配

  • 若使用Vue3,必须安装vue-i18n@9.x及以上版本,执行命令:npm install vue-i18n@next
  • 若使用Vue2,只能用vue-i18n@8.x版本,执行命令:npm install vue-i18n@8

另外你原代码存在语法错误:new VueI18n({})配置里多写了一行i18n,需要删除。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 17:55:17