当我尝试修改pages/_document.js以添加FastClick事件注册时(见下文),它报告ReferenceError: document is not defined。我猜这是因为它是在服务器上执行的,而document并没有在服务器上定义。有没有办法解决这个问题?
if ('addEventListener' in document) {
document.addEventListener('DOMContentLoaded', function() {
FastClick.attach(document.body)
}, false)
}发布于 2019-01-16 16:34:54
根据next.js documentation,pages/_document.js仅在服务器上呈现。
我建议使用pages/_app.js中的代码,它将在所有组件之间共享。
发布于 2019-01-16 14:09:20
您可以使用process.browser来确保您的代码只在前端执行。
if (process.browser) {
document.addEventListener('DOMContentLoaded', function() {
FastClick.attach(document.body)
}, false)
}https://stackoverflow.com/questions/54207761
复制相似问题