Vue3+Vite项目导入i18n报错,该如何解决?
解决Vite+Vue3中vue-i18n导入报错问题
问题原因
你使用的是适配Vue3的vue-i18n v9+版本,该版本采用命名导出而非默认导出,所以原来的默认导入写法会触发"没有default导出"的错误。
解决步骤
1. 修改导入语法
将原来的默认导入替换为命名导入:
// 错误写法 // import VueI18n from "vue-i18n"; // 正确写法 import { createI18n } from 'vue-i18n'
2. 正确初始化i18n实例
基于命名导出的API,初始化代码示例如下(i18n.ts):
import { createI18n } from 'vue-i18n' // 定义语言包 const messages = { en: { greeting: 'Hello!' }, zh: { greeting: '你好!' } } // 创建i18n实例 const i18n = createI18n({ locale: 'zh', // 默认语言 messages }) export default i18n
3. 确认版本适配(可选)
如果你误安装了适配Vue2的vue-i18n v8版本,需要重新安装适配Vue3的版本:
# 卸载旧版本 npm uninstall vue-i18n # 安装v9+版本(@next指向最新稳定版) npm install vue-i18n@next
内容的提问来源于stack exchange,提问作者omega
相关产品推荐
相关产品推荐

