VueJs和vue-i18n错误

时间:2017-02-27 13:00:33

标签: javascript internationalization vue.js

即时使用Webpack CLI模板。

然后我用npm install --save vue-i18n

安装https://kazupon.github.io/vue-i18n/

在我的main.js中,我执行导入并设置“en”语言环境

import Vue from 'vue'
import VueI18n from 'vue-i18n'
import App from './App'
import router from './router'

Vue.use(VueI18n)
Vue.locale('en', {})

new Vue({
  el: '.nwt-mm-app',
  router,
  template: '<App/>',
  components: { App }
})

控制台输出始终显示

Uncaught TypeError: __WEBPACK_IMPORTED_MODULE_0_vue___default.a.locale is not a function
    at eval (eval at <anonymous> (app.js:802), <anonymous>:16:45)
    at Object.<anonymous> (app.js:802)
    at __webpack_require__ (app.js:660)
    at fn (app.js:84)
    at Object.<anonymous> (app.js:1176)
    at __webpack_require__ (app.js:660)
    at app.js:709
    at app.js:712

我有点失踪吗? 问候,

马库斯

2 个答案:

答案 0 :(得分:3)

好吧,你可以查看作者的另一个回购。

https://github.com/kazupon/vue-i18n-alpha-repro

在演示中,vue-i18n就像:

import Vue from 'vue'
import App from './App'
import VueI18n from 'vue-i18n'
import router from './router'

Vue.use(VueI18n)
const i18n = new VueI18n({
   locale: 'ja',
   messages: {
     ja: {
       hello: 'こんにちは'
     },
     en: {
       hello: 'hello'
     }
    }
   })

 Vue.config.productionTip = false

 /* eslint-disable no-new */
 new Vue({
   el: '#app',
   router,
   i18n,
   template: '<App/>',
   components: { App }
 })

它有效。

答案 1 :(得分:-1)

import Vue from 'vue'

import VueI18n from 'vue-i18n'


Vue.use(VueI18n)

// console.log(navigator.language);
let defaultLang = "zh"

const i18n = new VueI18n({
  locale: defaultLang,//默认语言
  messages: {
    zh:{
      hello:'你好',
      footTitle:['现货交易','采购供应','行情资讯','个人中心']
    },
    en: {
      hello: 'hello',
      footTitle:['Spot Trading','Purchase & Supply','Market Information','Personal Center']
    },
  }
})

export default i18n