我不是任何一个使用JavaScript的向导,而且我一直围绕着大量使用ES6的Vue.js . 在查看如何实现vue-router时,模块声明如下所示:

import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import TestComponent from '@/components/TestComponent'

Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/',
      name: 'Hello',
      component: HelloWorld
    },
    {
      path: '/test',
      name: 'Test',
      component: TestComponent
    }
  ]
})

main.js指向我的/router/index.js的“导入路由器从'./router'”,然后将此“Router”实例添加到Vue实例:

new Vue({
  el: '#appl',
  router: Router,
  render: h => h(App)
})

现在,我在一定程度上都理解了 . 我在/ rounter中的index.js从vue-router导出一个新的“Router”,用指定的路由初始化它 . 我不完全理解这一点,并且看起来像是气味是导出器上方的路由器的index.js文件中的“Vue.use(Router)”的位置 . 根据我的看法,当基于“router:Router”赋值初始化Vue实例时,将执行./router/index.js中的代码 .

我的问题是这是否是放置Vue.use的“适当”的地方?我问的原因是因为我也想使用vue-intl进行本地化和i18n . 要做到这一点,我需要在导入后使用Vue.use(VueIntl),但是我还需要为各种支持的语言注册消息 . 可执行代码是否应该驻留在任何有效范围之外的组件中? (看起来很臭,但只是想知道这是不正常的?)