如何利用vscode进行react开发【教程】

发布时间 - 2026-01-22 00:00:00    点击率:
必须安装ESLint、Auto Import、Bracket Pair Colorizer 2三个扩展,并配置jsconfig.json(含baseUrl和paths)与launch.json(含webRoot等),否则React开发的基础功能如语法检查、自动导入、括号匹配、路径跳转和调试断点均会失效。

VS Code 本身不“支持 React”,它靠扩展和配置来适配 React 开发流程——关键不是装什么插件,而是搞清哪些配置缺一不可、哪些扩展只是锦上添花。

必须安装

的三个扩展

没它们,连基础开发体验都卡顿:

  • ESLint(由 dbaeumer.vscode-eslint 提供):React 项目普遍用 ESLint 做语法和规则检查,不装它,eslint-config-react-app 或自定义规则不会生效,保存时无提示、无自动修复
  • Auto Importsteoates.autoimport):React 函数组件里频繁 import useStateuseEffect 等,这个扩展能实时补全并自动插入 import 行,避免手写错误或漏引
  • Bracket Pair Colorizer 2coenraads.bracket-pair-colorizer-2):JSX 中嵌套层级深时,括号匹配极易出错;原生 VS Code 的括号高亮在 JSX 中常失效,这个扩展对 {}[] 都有效

jsconfig.json 或 tsconfig.json 不可跳过

没有它,VS Code 的路径智能跳转(Ctrl+Click)、符号查找(Ctrl+Shift+O)和自动导入会大面积失灵,尤其在使用 src/ 别名(如 @/components)时:

{
  "compilerOptions": {
    "baseUrl": "src",
    "paths": {
      "@/*": ["*"],
      "@/components/*": ["components/*"]
    }
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules"]
}

注意:baseUrl 必须是相对路径字符串,不能写成 ./srcpaths 中的 key 是模块导入时写的路径,value 是相对于 baseUrl 的实际位置。

调试 React 应用必须配 launch.json

直接点 VS Code 的「运行和调试」面板里的绿色三角形,不配置就报错 No debugger configured for 'chrome'

  • 确保已安装 msjsdiag.debugger-for-chrome(新版已整合进 ms-vscode.js-debug,通常自带)
  • 在项目根目录下创建 .vscode/launch.json,内容至少包含:
    {
      "version": "0.2.0",
      "configurations": [
        {
          "type": "pwa-chrome",
          "request": "launch",
          "name": "Launch Chrome against localhost",
          "url": "http://localhost:3000",
          "webRoot": "${workspaceFolder}/src",
          "sourceMapPathOverrides": {
            "webpack:///src/*": "${webRoot}/*"
          }
        }
      ]
    }
  • 启动前务必先用 npm startyarn start 跑起本地服务,否则 Chrome 打不开

热重载失效?先查 webpack-dev-server 配置是否被覆盖

VS Code 不控制热重载,但编辑器保存行为可能触发意外行为:

  • 关掉 VS Code 的 files.autoSave 设为 onFocusChangeoff,某些场景下快速连按 Ctrl+S 会触发两次保存,导致 webpack-dev-server 误判文件变更顺序而中断 HMR
  • 确认 package.json 中的 start 脚本是 react-scripts start(CRA)或已正确配置 hot: truereact-refresh(Vite / Webpack 5+)
  • 如果用了 cracocustomize-cra,检查其配置是否禁用了 FastRefresh —— VS Code 无法绕过这个层面的开关

最常被忽略的是 jsconfig.jsonbaseUrl 写错,或 launch.jsonwebRoot 指向了 src 外的目录,这两处一错,调试断点根本不会命中,但错误提示极不明显。


# react  # vscode  # js  # json  # node  # vite  # npm  # app  # ai  # vs code  # red  # chrome  # yarn  # webpack  # for  # auto  # 字符串 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: googleplay官方入口在哪里_Google Play官方商店快速入口指南  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  JS中对数组元素进行增删改移的方法总结  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  zabbix利用python脚本发送报警邮件的方法  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  如何正确选择百度移动适配建站域名?  如何在Tomcat中配置并部署网站项目?  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  java ZXing生成二维码及条码实例分享  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  C#如何调用原生C++ COM对象详解  Laravel怎么在Blade中安全地输出原始HTML内容  如何在服务器上配置二级域名建站?  如何在自有机房高效搭建专业网站?  Laravel如何使用查询构建器?(Query Builder高级用法)  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  网站建设保证美观性,需要考虑的几点问题!  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  Laravel如何处理CORS跨域请求?(配置示例)  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  三星网站视频制作教程下载,三星w23网页如何全屏?  Laravel怎么上传文件_Laravel图片上传及存储配置  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  jQuery 常见小例汇总  Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  在线教育网站制作平台,山西立德教育官网?  Laravel Fortify是什么,和Jetstream有什么关系  详解Android中Activity的四大启动模式实验简述  Laravel怎么使用artisan命令缓存配置和视图  制作电商网页,电商供应链怎么做?  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  Laravel如何使用Sanctum进行API认证?(SPA实战)  如何在IIS中新建站点并解决端口绑定冲突?  Laravel如何使用Livewire构建动态组件?(入门代码)  js实现获取鼠标当前的位置  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  如何在云主机上快速搭建网站?