我不是任何一个使用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),但是我还需要为各种支持的语言注册消息 . 可执行代码是否应该驻留在任何有效范围之外的组件中? (看起来很臭,但只是想知道这是不正常的?)