router.js 923 B

12345678910111213141516171819202122232425262728293031323334
  1. import Vue from 'vue';
  2. import Router from 'vue-router';
  3. import Main from 'view/Main';
  4. import Login from 'view/Login';
  5. // 合并所有router
  6. let routers = [];
  7. const requireComponent = require.context('./modules', false, /\.js$/); // modules下任意js文件
  8. requireComponent.keys().forEach(fileName => {
  9. const item = requireComponent(fileName);
  10. routers = routers.concat(item.default); // modules中文件的写法是export default
  11. });
  12. Vue.use(Router);
  13. const router = new Router({
  14. mode: 'history',
  15. routes: [{
  16. path: '/',
  17. name: 'main',
  18. component: Main,
  19. redirect: '/index',
  20. linkActiveClass: 'active',
  21. children: routers
  22. },
  23. {
  24. path: '/login',
  25. name: 'login',
  26. component: Login
  27. },
  28. {
  29. path: '*',
  30. component: Error
  31. }
  32. ]
  33. });
  34. export default router;