我在这里遇到同样的问题,Coverflow对于gatsby开发工作正常,但在构建时会引发错误:
WebpackError:窗口未定义

WebpackError:窗口未定义

     - react-coverflow.js:1 Object.<anonymous>
       ~/react-coverflow/dist/react-coverflow.js:1:330

     - main.js:1 Object.<anonymous>
       ~/react-coverflow/main.js:1:1


我认为这是由该库“ Coverflow”引起的

import Coverflow from 'react-coverflow';
import { StyleRoot } from 'radium'

class Team extends React.Component {

  render(){
    return(
      <StyleRoot>
      <Coverflow
        displayQuantityOfSide={2}
        navigation
        infiniteScroll
        enableHeading
        active={0}
        media={{
          '@media (max-width: 720px)': {
            width: '100%',
            height: '200px'
          },
          '@media (min-width: 720px)': {
            width: '100%',
            height: '400px',
          }
        }}
      >
        <img src={Sandiso} alt='Chairperson'/>
        <img src={Sihle} alt='Deputy Chairperson' />
        <img src={olwethu} alt='General Secretary' />
        <img src={Aphiwe} alt='Recording Secretary'/>
        <img src={cynoh} alt='Treasury'/>
        <img src={aso} alt='Marketing' />

      </Coverflow>
    </StyleRoot>
    )
  }
}

export default Team;

最佳答案

还没有完全研究另一个建议的答案:React.Lazy和Suspense,但是遇到了一个类似的问题,试图实例化“路口观察者”,并在凯尔·马修(Kyle Matthew)对这个问题的回答中找到了一个更简单的答案:

https://github.com/gatsbyjs/gatsby/issues/309#issuecomment-223360361

就是说,潜在地,您可以导入包或在组件的window方法(或componentDidMount挂钩)中寻找useEffect的任何对象。

关于reactjs - WebpackError:窗口未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54090189/

10-09 18:14