如何编写仅在堆栈的一侧执行的代码:前端或后端
在页面组件中,您只能在服务器端或客户端执行代码,但是请检查window
财产。
此属性仅存在于浏览器内部,因此您可以检查
if (typeof window === 'undefined') {
}
并在该块中添加服务器端代码。
同样,您只能通过检查执行客户端代码
if (typeof window !== 'undefined') {
}
JS技巧:我们使用
typeof
运算符在这里,因为我们无法以其他方式检测到未定义的值。我们做不到if (window === undefined)
因为我们会收到“未定义窗口”运行时错误
Next.js作为构建时的优化,也从捆绑软件中删除了使用这些检查的代码。客户端捆绑包将不包含包装在if (typeof window === 'undefined') {}
堵塞。
免费下载我的Next.js手册
接下来的更多教程:
- Next.js入门
- Next.js vs Gatsby vs create-react-app
- 如何安装Next.js
- 使用链接在Next.js中链接两个页面
- 路由器中Next.js中的动态内容
- 使用getInitialProps将数据馈送到Next.js组件
- 使用CSS样式化Next.js组件
- 在Next.js中预取内容
- 使用路由器检测Next.js中的活动链接
- 查看源代码以确认SSR在Next.js中正常工作
- Next.js:使用自定义标签填充head标签
- 立即部署Next.js应用程序
- Next.js:仅在Next.js的服务器端或客户端运行代码
- 在生产中部署Next.js应用
- 如何分析Next.js应用程序捆绑包
- Next.js中的延迟加载模块
- 向您的Next.js应用添加包装器组件
- Next.js添加到您的应用程序中的图标
- Next.js应用程序捆绑包
- 如何使用Next.js路由器
- 如何使用Next.js API路由
- 如何在Next.js应用中在服务器端获取Cookie
- 如何更改Next.js应用程序端口