WebpackError: ReferenceError: window is not defined - npm run build

WebpackError: ReferenceError: window is not defined - npm run build

我在 "npm run build" 时收到以下错误:

WebpackError: ReferenceError: window 未定义

这是导致错误的代码部分:

    params.slidesPerView =  Math.floor(window.innerWidth/400);
    // params.slidesPerGroup = Math.floor(window.innerWidth/400);
    console.log("Calc Width");
    console.log(window.innerWidth/400);
    this.lastWidth = params.slidesPerView;

在开发过程中,您可以在客户端访问window。当您 运行 构建时,gatsby 在未定义 window 的服务器上呈现这些组件。

解决方法是在 componentDidMount 中使用 window 或在使用之前检查 window。