Gatsbyjs reach-router 导入错误破坏站点

Gatsbyjs reach-router import error breaking site

我正在处理我的 Gatsby 项目并尝试添加 React Cookie Consent 包。安装并尝试实施后,我的网站崩溃了,证明我有这个错误:

   warn ./.cache/root.js
    Attempted import error: 'BaseContext' is not exported from '@gatsbyjs/reach-router' (imported as 'BaseContext').

我似乎找不到解决办法,也不知道为什么会这样。 Localhost 向我抛出这个错误:

_gatsbyjs_reach_router__WEBPACK_IMPORTED_MODULE_2__.BaseContext is undefined

欢迎任何帮助!谢谢:)

尝试通过 运行 删除缓存文件夹时:

gatsby clean

如果问题仍然存在,请尝试通过将以下内容添加到您的 gatsby-node.js 来绕过 SSR 限制:

exports.onCreateWebpackConfig = ({actions, loaders, stage}) => {
    if (stage === "build-html") {
        actions.setWebpackConfig({
            module: {
                rules: [
                    {
                        test: /react-cookie-consent/,
                        use: loaders.null(),
                    },
                ],
            }
        })
    }
};

或使用动态导入:

useEffect(() => {
  (async () => {
    const { getCookieConsentValue, Cookies } = await import('react-cookie-consent')

    getCookieConsentValue('test')
    Cookies.get()
  })()
}, [])

您可以在以下位置查看更多方法:https://github.com/Mastermindzh/react-cookie-consent/issues/136