我怎样才能让这个anime.js 在 Gatsby 中工作

问题描述

我怎样才能让这段代码在 React/Gatsby 中工作。当我去构建它失败

window.addEventListener("mousemove",move);

window.onload = () =>animejs({ 目标:“.cursor”, 不透明度:1 });

解决方法

将其包裹在此条件中:

if (typeof window !== "undefined"){
   window.addEventListener("mousemove",move);

   window.onload = () => animejs({ targets: ".cursor",opacity: 1 });

 }

你需要了解 Gatsby 才能知道发生了什么。总而言之,gatsby develop 出现在浏览器端,其中有一个 window (or other global objects like document),因此您的代码不会中断。 gatsby build 出现在显然没有 window 的服务器中(因为它甚至还没有定义),所以在没有验证的情况下使用 window 的每一部分代码都会中断。

将代码包装在前一个条件中将使您的代码正常工作。