使用 react-router-sitemap 时站点地图不是构造函数

Posted

技术标签:

【中文标题】使用 react-router-sitemap 时站点地图不是构造函数【英文标题】:Sitemap is not a constructor while using react-router-sitemap 【发布时间】:2017-09-07 00:13:47 【问题描述】:

我正在尝试为我的 React 网站创建一个站点地图,并且我正在使用 react-router-sitemap。这是我的sitemap-builder.js

require('babel-register');

//import React from 'react';
// import  render  from 'react-dom';
//import Sitemap from 'react-router-sitemap';

const router = require('./root.js').default;  
const Sitemap = require('./').default;

const filterConfig = 
  isValid: false,
  rules: [
    /\/admin/
  ],
;

( 
new Sitemap(router)
    .filterPaths(filterConfig)
    .build('https://www.ace-up.com')
    .save('./sitemap.xml')
);

我的package.json 有以下内容:

"scripts": 
  "build:sitemap": "node ./js/sitemap-builder.js"
,

所以我只是使用命令通过我的终端运行它:npm run build:sitemap 但它给了我以下错误:

new Sitemap(router)
^

TypeError: Sitemap is not a constructor

我也安装了模块;我可以在我的package.json 中看到它。为什么会出现错误,如何纠正?

【问题讨论】:

你好,你有解决这个问题的办法吗?我也面临同样的问题! 你好,你有解决这个问题的办法吗?我也面临同样的问题! 【参考方案1】:

您正在导入错误的站点地图构造函数。

改变这一行:

const Sitemap = require('./').default;

到这里:

const Sitemap = require('react-router-sitemap').default;

现在应该可以工作了。

【讨论】:

以上是关于使用 react-router-sitemap 时站点地图不是构造函数的主要内容,如果未能解决你的问题,请参考以下文章

参数标志,不使用时为空,不使用时为默认值

使用 php artisan migrate 时,迁移时更改表名,使用 tinker 保存对象时出错

使用前台服务时允许“使用应用程序时”而不是“始终允许”是不是可以?

为啥在使用自适应查询执行时要使用广播时火花洗牌

使用自定义效果时缺少网格颜色,但使用 BasicEffect 时没有

使用google可视化api时,使用dashboard时如何使用getChartLayoutInterface()