Next.js-是否可以调试getServerSideProps?

时间:2020-09-28 13:32:42

标签: next.js

文档getServerSideProps中的Hi是仅在服务器端执行的功能。

export async function getServerSideProps(context) {
  console.log("hello world");
  debugger;
  return {
    props: {
      age:55
    }, // will be passed to the page component as props
  }
}

因此,简单地删除调试器关键字是行不通的。

我尝试过:

  • 在端口9229上连接node.js调试器
  • 运行node --inspect-brk ./node_modules/next/dist/bin/next
  • 运行cross-env NODE_OPTIONS='--inspect' next dev

但是 console.log() debugger 关键字似乎都无效。

但是我的getServerSideProps中的道具正确传递了,这证明了该函数已被调用。

是否可以单步执行getServerSideProps或至少使console.log工作?谢谢!

P.S。

getServerSideProps之外的代码行是可调试的,并且可以按预期工作。

1 个答案:

答案 0 :(得分:0)

为了使打开的调试端口正确打开,您需要执行以下操作:

// package.json scripts
"dev": "NODE_OPTIONS='--inspect' next dev"
// if you want custom debug port on a custom server
"dev": "NODE_OPTIONS='--inspect=5009' node server.js",

一旦拥有调试端口,您就应该能够使用自己选择的inspector clients