我在nextjs应用程序上遵循指南。在窗口上使用VSCode。
上面写着使用脚本:"dev":"NODE_OPTIONS="--inspect"next dev";
这导致:
"NODE_OPTIONS"未被识别为内部或外部命令,可操作程序或批处理文件。
是的,我知道已经有一个同名的问题了,但它已经有2.5年的历史了,有8k的浏览量,没有被接受的答案。我无法对其进行评论或添加信息。请随时将其标记为重复,但请至少将其链接到另一个问题的评论中。
一个答案是建议安装另一个(维护模式(依赖项,并将其配置为更改环境变量。
这项研究和其他研究让我相信,这里存在环境变量的问题。我不能手动设置吗?为什么下一个官方指南中没有提到这一点?如何设置正确的环境变量?
有一种方法可以让它发挥作用,您可以在这里找到类似的问题。
步骤1
npm i cross-env --save-dev
步骤2
编辑你的package.json,使dev选项看起来像这个
{
"scripts": {
"dev": "cross-env NODE_OPTIONS='--inspect' next dev",
"build": "next build",
"start": "next start"
}
}
步骤3
现在,您可以在单独的终端中启动NextJS程序。之后,请按照NextJS VSCode调试说明进行操作。将VSCode附加到正在运行的NextJS实例。
你已经准备好了。
也许这可以帮助我们
在Windows 上调试
Windows用户在使用NODE_OPTIONS="--inspect"时可能会遇到问题,因为Windows平台不支持该语法。要解决此问题,请将cross-env包作为开发依赖项安装(-dev with NPM或-D for Yarn(,并用以下内容替换dev脚本。
"dev":"cross-env NODE_OPTIONS="--inspect"next-dev";,
cross-env将设置NODE_OPTIONS环境变量,无论您在哪个平台上(包括Mac、Linux和Windows(,并允许您在设备和操作系统之间进行一致的调试。
没有交叉环境,在Windows上本地
任何当前版本的Windows(都使用Powershell(的正确语法是:
$env:NODE_OPTIONS="INSPECT"
要使Linux指令正常工作
安装WSL,这样您就可以使用bash、Linux节点、npm中的Linux二进制文件等。