nuxt devtools 不显示需先运行 nuxi dev --devtools 显式启用(3.12+ 默认关闭),确保未在配置中设 devtools: false,避免代理拦截 __/nuxt_devtools__/ 路径,并安装 volar 和 nuxi 插件辅助开发。

VSCode 里 Nuxt DevTools 不显示?先确认它根本没启动
很多情况下你不是配错了,而是 nuxi dev 根本没启用 DevTools。Nuxt 3.12+ 默认关闭 DevTools,必须显式开启——它不依赖 VSCode 插件,而是靠命令行参数启动。
- 运行
nuxi dev --devtools(不是nuxi dev),否则浏览器打不开http://localhost:3000/__nuxt_devtools__/ - VSCode 自带的调试器(
launch.json)无法触发 DevTools,它只响应 CLI 启动;别在「运行和调试」面板里点绿色三角形启动项目 - 确认
nuxt.config.ts里没写devtools: false,哪怕没写,默认也是false(Nuxt 3.12+ 行为)
Nuxt DevTools 在浏览器里打不开?检查端口和代理冲突
DevTools 是一个独立的内嵌服务,走的是和主应用相同的开发服务器端口,但路径是 /__nuxt_devtools__/。常见打不开是因为路径被拦截、重写或跨域阻止。
- 不要手动访问
http://localhost:3000/__nuxt_devtools__/—— 正确方式是:启动nuxi dev --devtools后,终端会输出一行提示:DevTools available at http://localhost:3000/__nuxt_devtools__/,直接点击它(VSCode 终端支持 Ctrl+Click) - 如果你用了自定义
nitro.devServer.handlers或中间件(比如重写所有路径到/index.html),可能把/__nuxt_devtools__/路径也劫持了,加个排除规则:{ route: '/__nuxt_devtools__/**', handler: '' } - 某些公司代理或安全软件会拦截含双下划线的路径,临时关掉代理试试
VSCode 插件有用吗?哪些值得装,哪些纯属干扰
Nuxt 官方不维护 VSCode 插件来驱动 DevTools,所谓「Nuxt DevTools 插件」基本是旧版(Nuxt 2)残留或命名误导。当前真正有用的只有两个:
-
Volar:必须装,提供.vue文件类型支持、模板语法高亮、definePageMeta类型推导等,DevTools 的组件树依赖它提供的语义信息 -
Nuxi(由 Nuxt 官方发布):提供命令面板快捷启动nuxi dev --devtools、生成app.vue等脚手架能力,不是 DevTools 本身,但能减少手敲命令出错 - 别装「Nuxt DevTools」或「Vue DevTools for Nuxt」这类第三方插件——它们要么已废弃,要么试图注入前端脚本,反而导致
Cannot find module 'nuxt:devtools'报错
组件/路由调试没反应?检查 runtime config 和构建模式
DevTools 的组件树、路由面板、状态检查器依赖 Nuxt 运行时注入的 hook。如果页面空白或显示「No app detected」,大概率是构建环境或配置阻断了注入。
- 确保不是用
nuxi build && nuxi preview启动——DevTools 只在开发模式(nuxi dev)下工作,预览模式无热重载、无运行时 hook - 检查
nuxt.config.ts是否启用了ssr: false(SPA 模式)——可以,没问题;但如果同时设置了experimental.appManifest = false,会禁用部分 DevTools 功能,保持默认即可 - 如果用了
runtimeConfig.public传入敏感值,且值中包含__(如MY_API_KEY),某些旧版 DevTools 会误判为内部字段而跳过注入,改名避开双下划线
最常被忽略的一点:DevTools 的「组件」面板只显示当前路由下实际渲染的组件,不是项目里所有 .vue 文件。没看到某个组件?先去浏览器里访问对应路由,再切回 DevTools 切换「Components」标签页刷新一下。











