javascript - Gatsby JS 中的自定义 Javascript

标签 javascript reactjs gatsby static-site anime.js

我创建了一些小脚本函数,希望在每次页面加载或刷新时触发它们。下面是为第三方库 Anime JS 构建的示例,但它基本上是任意的,因为对于我的所有脚本函数来说都是同样的问题。

import anime from 'animejs'

    if (typeof window !== `undefined`) {
      var bioLayerIn = anime.timeline();
      bioLayerIn
      .add({
        targets: ['.color-layer'],
        translateX: '100%',
        easing: 'easeInOutQuint',
        duration: 400
      })
      .add({
        targets: ['.color-layer'],
        translateX: '200.1%',
        easing: 'easeInOutQuint',
        duration: 430,
        delay:5
      });
      }

出于某种原因,它仅在我编辑脚本并保存时运行一次,并且在我对脚本进行更改并再次保存之前不会再次运行。我不确定如何让 Gatsby/React 让它按照 javascript 函数传统上运行的方式运行,即每次加载/刷新页面时。我确信这与 Gatsby 链接和路由其页面的方式有关。

我知道 Gatsby 以不同的方式处理自定义 JS,因为它是构建在框架上的,但 Gatsby 的文档中没有明确的答案来解释这一点。 This页面讨论添加自定义 js,但如果是第三方库则不讨论

目前我的脚本位于/src/js/custom.js

最佳答案

这是因为代码只会在加载后运行(当我切换页面时不会重新加载)。我需要使用https://www.gatsbyjs.org/docs/browser-apis/#onRouteUpdate Hook gatsby-browser.js 中的路由更改事件

Source

关于javascript - Gatsby JS 中的自定义 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50553739/

相关文章:

reactjs - Azure 静态 Web 应用上的 React 的构建配置是什么?

node.js - Netlify部署: 12:43:01 AM: Build failed due to a user error: Build script returned non-zero exit code: 2

javascript - Gatsby/Netlify 样式不会显示?

javascript - 在 .env 文件中使用私钥

javascript - 限制用户对 Firebase 节点的读/写访问权限不起作用

javascript - 在我的特定 div 上实现视差效果的简单方法?

Javascript 将数据保存在对象或数组中

reactjs - 无法在 Windows 10 中使用 react 测试库生成 react 测试覆盖率

javascript - 导入 img 而不是 SVG

javascript - 如何在asp.net中确认onclick事件?