我在这里遇到同样的问题,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/