首先,我向您展示什么有效(在 App.js 中)
import router from './routes.js';
import VueI18n from 'vue-i18n';
const messages = {
en: {
message: {
hello: 'hello world'
}
}
}
// Create VueI18n instance with options
const i18n = new VueI18n({
locale: 'en', // set locale
messages, // set locale messages
})
const app = new Vue({
el: '#app',
router,
i18n
});
但是如果我想把 lang.js 中的代码分开
import VueI18n from 'vue-i18n';
const messages = {
en: {
message: {
hello: 'hello world'
}
}
}
export default new VueI18n({
locale: 'en', // set locale
messages, // set locale messages
});
这样我就可以在 App.js 中编写
import router from './routes.js';
import i18n from './lang.js';
const app = new Vue({
el: '#app',
router,
i18n
});
但不知何故,即使 routes.js 的构建完全相同,这也行不通。
我的 bootstrap.js 看起来像那样,如果知道它很重要的话。
import Vue from 'vue';
window.Vue = Vue;
import VueRouter from 'vue-router';
import VueI18n from 'vue-i18n';
Vue.use(VueRouter);
Vue.use(VueI18n);
对于长代码,我很抱歉,但不知何故错误在于 import i18n from ‘./lang.js’;我收到消息:Uncaught TypeError: Cannot read property ‘config’ of undefined
原文由 Philipp Mochine 发布,翻译遵循 CC BY-SA 4.0 许可协议
在创建应用程序实例的主文件中,将 i18n 添加为选项而不是
Vue.use(Vuei18n)
如下所示:把它放在
el
之后;这应该是你的语言: