在 Vue Router 的配置中,export const constantRoutes
和 const routes
主要是关于变量的作用域和导出方式的不同。
-
const routes
:- 只是声明了一个常量
routes
,其中可能包含了应用中的路由配置数组。 - 这个常量的作用范围仅限于当前文件,如果不将其导出,则其他文件无法直接访问到这个变量。
- 只是声明了一个常量
-
export const constantRoutes
:- 同样声明了一个常量,但同时使用了
export
关键字,这意味着这个常量可以在其他文件中被导入和使用。 - 常量名
constantRoutes
表明这部分路由可能是固定不变的基础路由集合,通常在大型项目中,可能会有基础路由(如不需要权限控制的公共页面)和其他需要根据用户权限动态加载的路由。
- 同样声明了一个常量,但同时使用了
// 在路由配置文件中
// 使用 const routes
const routes = [{ path: '/', component: Home },{ path: '/about', component: About },// ... 其他路由配置
];// 或者// 使用 export const constantRoutes
export const constantRoutes = [{ path: '/', component: Home },{ path: '/about', component: About },// ... 其他路由配置
];// 如果需要的话,还可以有额外的动态路由配置
const asyncRoutes = () => {...}; // 动态加载的路由配置// 在 main.js 或类似的入口文件中
import Vue from 'vue';
import VueRouter from 'vue-router';
import { constantRoutes } from './routerConfig'; // 导入常量路由配置const router = new VueRouter({routes: constantRoutes, // 使用常量路由配置初始化路由器
});new Vue({router,render: h => h(App),
}).$mount('#app');
总结起来,两者主要区别在于变量是否可被外部文件导入使用,而 constantRoutes
的命名更多是一种约定俗成的命名规范,表明这些路由在程序运行过程中不应发生改变