You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Next.js中,页面组件打印getServerSideProps传递的值能否在终端查看?

问题解答

首先明确:页面组件内的console.log(data)不会在终端控制台输出,只会出现在浏览器的开发者工具控制台里。

原因分析

Next.js中代码的执行环境分两类:

  • getServerSideProps是服务端运行的函数,这里面的console.log会输出到终端(Node.js运行环境的控制台)。
  • 页面组件MainPage属于客户端渲染逻辑(即使是SSR模式,组件的最终执行还是在浏览器端),所以组件内的console.log只会在浏览器的DevTools控制台显示。

你的代码问题修正

另外注意,你的示例代码存在两处错误:

  1. Hooks不能在getServerSideProps里调用:useHook()会直接报错,因为React Hooks只能在React组件或自定义Hooks内部使用。
  2. 返回格式错误:getServerSideProps的返回值需要包裹在props对象中,而非直接返回数据。

修正后的代码示例:

export const getServerSideProps = async({ req, res }) => {
  const data = 1; // 替换错误的useHook调用
  console.log('服务端打印data:', data); // 这条日志会输出到终端
  return {
    props: { data } // 正确的返回格式
  }
}

const MainPage = ({ data }) => {
   console.log('客户端打印data:', data); // 这条日志会出现在浏览器控制台
   return <div>test</div>
}

export default MainPage;

终端查看data值的方法

如果想在终端看到data的值,直接把console.log放到getServerSideProps函数内部即可,服务端执行该函数时就会在终端打印内容。

内容的提问来源于stack exchange,提问作者jihwan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 23:03:13