代码之家  ›  专栏  ›  技术社区  ›  Alex Craft

如何将fastclick添加到next.js?

  •  0
  • Alex Craft  · 技术社区  · 6 年前

    当我试图修改 pages/_document.js 要添加FastClick事件注册(见下文),它会抱怨 ReferenceError: document is not defined . 我想是因为它是在服务器上执行的 document 那里没有定义。有办法解决吗?

    if ('addEventListener' in document) {
      document.addEventListener('DOMContentLoaded', function() {
        FastClick.attach(document.body)
      }, false)
    }
    
    2 回复  |  直到 6 年前
        1
  •  1
  •   MoHo    6 年前

    pages/_document.js 仅在服务器上根据 next.js documentation .

    我建议在 pages/_app.js 将在所有组件之间共享。

        2
  •  1
  •   Darryl RN    6 年前

    你可以使用 process.browser 以确保您的代码仅在前端执行。

    if (process.browser) {
      document.addEventListener('DOMContentLoaded', function() {
        FastClick.attach(document.body)
      }, false)
    }