路由 vue-router在vue中是個插件的形式,以npm包存在,所以我們使用它要在package.json裏安裝依賴。
例如:
import VueRouter from 'vue-router';
Vue.use(VueRouter ); //安裝插件,install
new VueRouter ({router}); //初始化路由
router爲一個數組: [
{
name: 'index',
path: '/index',
redirect: '/info',
component (relsove) {
require.ensure([], require => resolve(require('../index/index.vue')), 'index');
},
children: [
{
name: 'info',
path: '/info*',
component (resolve) {
require.ensure([], require => resolve(require('../info/info.vue')), info');
},
meta: {
keepAlive: true
}
}]
}
]
//把router嵌到app中
let app = new Vue({
router,
store,
data () {
return {};
},
computed: {},
})
app.$mount('#app');
補充: require.ensure 按需加載
webpack打包,如果沒有使用按需加載,打包的文件將會非常大,這個加載的速度會很慢
這個時候需要分模塊打包,把想要組合在一起的組件打包到一個chunk塊中去,分模塊打包需要下面這樣使用 webpack的 require.ensure,並且在最後加入一個 chunk名,相同 chunk名字的模塊將會打包到一起。
webpack.config.js
output: {
filename: `static/js/[name].[hash].js`,
chunkFilename: `static/js/[name].[hash].js`
}