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

Visual Studio Code中Next.js调试器无法工作的问题求助

解决方案

1. 统一调试端口配置

你的 launch.json 指定使用端口 9230,但当前 nodemon 的启动命令未明确指定该端口,默认会使用 Node.js 内置的 9229 端口。修改 nodemon 配置的 exec 字段,确保端口匹配:

{
    "watch": ["pages", "components", "helpers", "models"],
    "ext": "js,json,ts,tsx",
    "exec": "node --inspect=9230 node_modules/.bin/next dev"
}

2. 移除开发环境的生产优化配置

output: 'standalone' 是 Next.js 针对生产构建的优化选项,在开发模式下启用会破坏源码映射的生成逻辑。修改 next.config.js,仅在生产环境启用该配置:

/** @type {import('next').NextConfig} */
const path = require('path');

const nextConfig = {
    reactStrictMode: true,
    swcMinify: true,
    sassOptions: {
        includePaths: [path.join(__dirname, 'styles')]
    },
    // 仅生产环境启用 standalone 输出
    ...(process.env.NODE_ENV === 'production' ? { output: 'standalone' } : {})
};

module.exports = nextConfig;

3. 强制生成完整源码映射

在 next.config.js 中添加 devtool 配置,确保服务器端代码生成可被调试器识别的源码映射:

const nextConfig = {
    // ... 现有配置
    devtool: 'source-map', // 为开发环境生成标准源码映射文件
};

4. 配置源码路径映射规则

在 launch.json 中添加 sourceMapPathOverrides 字段,帮助调试器将编译后的文件路径映射回原始源码:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Attach to Next.js: server-side",
            "type": "node",
            "request": "attach",
            "port": 9230,
            "skipFiles": ["<node_internals>/**"],
            "sourceMapPathOverrides": {
                "webpack://_N_E/./*": "${workspaceFolder}/*",
                "webpack:///*": "${workspaceFolder}/*"
            }
        }
    ]
}

5. 排除 nodemon 干扰验证基础流程

先暂时跳过 nodemon,直接运行调试命令确认断点功能:

node --inspect=9230 node_modules/.bin/next dev

如果此时断点正常工作,再重新启用 nodemon,确保其配置未干扰调试流程。

完成以上步骤后,重启开发服务器和调试器,API 文件中的断点应该可以正常绑定。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 10:12:28