Javascript reveal.js:ReferenceError:未在新安装上定义导航器

Javascript reveal.js:ReferenceError:未在新安装上定义导航器,javascript,reactjs,next.js,reveal.js,Javascript,Reactjs,Next.js,Reveal.js,基于此,我正在尝试在我的React.js/Next.js网站中使用reveal.js 我得到的错误是: Server Error ReferenceError: navigator is not defined This error happened while generating the page. Any console logs will be displayed in the terminal window. Source external%20%22reveal.js%22 (

基于此,我正在尝试在我的React.js/Next.js网站中使用reveal.js

我得到的错误是:

Server Error

ReferenceError: navigator is not defined
This error happened while generating the page. Any console logs will be displayed in the terminal window.
Source

external%20%22reveal.js%22 (1:0) @ eval

> 1 | module.exports = require("reveal.js");
我通读了整个展示网站并搜索到,任何地方都没有提及导航器或依赖项

这是我的代码,CSS包含在我的app.js中:

从“下一个/头”导入头 从“下一个/链接”导入链接 从“../components/container full”导入ContainerFull 从“../components/more stories”导入更多故事 从“../components/hero post”导入HeroPost 从“../components/Intro”导入简介 从“../components/Layout”导入布局 从“../lib/api”导入{getHomePage,getHomeSlides} 从“../lib/constants”导入{CMS_NAME} 从“../components/Header”导入标题 从“下一个/动态”导入动态 常量MySlides=动态 =>导入“../components/slides”, {ssr:false} 导出默认功能页面{页面,插图}{ 回来 {page.seo.title} {page.title} {artwork.nodes&&artwork.nodes.maparts=> {艺术名称} } } 导出异步函数getStaticProps{params}{ const data=等待获取主页 console.logdata 康斯特艺术=等待回家 洛加特控制台 返回{ 道具:{ 第页:数据, 艺术品:艺术, }, } } slides.js文件


它很可能指的是window.navigator,它仅在浏览器中可用,但下一步还将在服务器上呈现,其中window未定义,因此navigator也未定义。您需要检查以确保您在客户端,而不是服务器上,然后包括任何仅限客户端的代码。您好,感谢您的回复。。没有提供任何其他代码。。我有点理解你的意思,但我不知道如何从这里开始,根据你所说的,现在发生的是,下一步是尝试在服务器上运行启示代码,并抛出一个错误,因为启示需要一个窗口/浏览器,但服务器没有。这在您的组中发生。初始化;-它正在尝试初始化服务器上的显示。尝试将其移动到useEffect,因为它仅在客户端/浏览器上运行,或者尝试将其包装到检查窗口的语句中,如if typeof window!='“未定义”。同时检查我应该添加-你现在如何拥有它,deck.initialize;将尝试在服务器上运行,然后再次在客户端上运行。你需要稍微修改一下你的代码,以确保它只在客户端上运行。所以我尝试了这个,它让我回到了原来的错误const MySlides==>{useffect=>{let deck=new Reveal{plugins:[Markdown]}deck.initialize;}return SlideShow}
import Reveal from 'reveal.js'
import Markdown from 'reveal.js/plugin/markdown/markdown.esm.js'
import React, { useEffect } from "react"

const MySlides = () => {
  useEffect(() => {
    let deck = new Reveal({
        plugins: [ Markdown ]
    })
    deck.initialize()
  })

  return (
    <div>SlideShow</div>
  )
}

export default MySlides