Javascript 如何仅从vue路由器提取路由以生成站点地图
我有一个文件正在导出我的VueRouter实例:Javascript 如何仅从vue路由器提取路由以生成站点地图,javascript,node.js,vue.js,vue-router,sitemap,Javascript,Node.js,Vue.js,Vue Router,Sitemap,我有一个文件正在导出我的VueRouter实例: // src/js/router.js import VueRouter from "vue-router"; export default new VueRouter({ mode: "history", routes: [ { name: "home", path: "/", component: "./component/Home.vue" }, { nam
// src/js/router.js
import VueRouter from "vue-router";
export default new VueRouter({
mode: "history",
routes: [
{
name: "home",
path: "/",
component: "./component/Home.vue"
},
{
name: "contact-us",
path: "/contact-us",
component: "./component/ContactUs.vue"
}
]
});
尝试
我试图执行此文件:
// test.js
import router from "./src/js/router.js";
使用节点:
节点——实验模块test.js
但我遇到了这个错误:
$node——实验模块test.js
(节点:13688)实验警告:ESM模块加载程序是实验性的。
C:\xampp\htdocs\extract routes from vue router\test.js:1
(函数(导出、要求、模块、_文件名、_目录名){import router from>“/src/js/router.js”;
^^^^^^
SyntaxError:意外的标识符
在新脚本中(vm.js:80:7)
在createScript上(vm.js:274:10)
位于Proxy.runInThisContext(vm.js:326:10)
at模块编译(内部/modules/cjs/loader.js:664:28)
at Object.Module._extensions..js(internal/modules/cjs/loader.js:712:10)
at Module.load(内部/modules/cjs/loader.js:600:32)
在tryModuleLoad(内部/modules/cjs/loader.js:539:12)
at Function.Module._load(内部/modules/cjs/loader.js:531:3)
在createDynamicModule(internal/modules/esm/translators.js:73:15)
在Object.meta.done(internal/modules/esm/create\u dynamic\u module.js:42:9)
问题
如何从路由器中仅提取
路径
密钥?我想根据我的路由器路由生成一个站点地图。有一个将所有路由作为链接数组获取的示例:
示例输出:
[
'https://zigamiklic.com/home',
'https://zigamiklic.com/settings/',
'https://zigamiklic.com/settings/general',
'https://zigamiklic.com/settings/profile',
'https://zigamiklic.com/contact',
]
如果不需要前缀,可以这样使用:
getRoutesList(router.options.routes, '');
下面是一个将所有路由作为链接数组获取的示例: 示例输出:
[
'https://zigamiklic.com/home',
'https://zigamiklic.com/settings/',
'https://zigamiklic.com/settings/general',
'https://zigamiklic.com/settings/profile',
'https://zigamiklic.com/contact',
]
如果不需要前缀,可以这样使用:
getRoutesList(router.options.routes, '');