当前位置:首页 > React

sonarqube如何扫描react

2026-02-12 06:18:07React

使用 SonarQube 扫描 React 项目

确保已安装 SonarQube 服务器和 SonarScanner 工具。SonarScanner 可以通过 npm 或独立安装包获取。

安装 SonarScanner 的 npm 包:

npm install -g sonarqube-scanner

在 React 项目的根目录下创建 sonar-project.properties 文件,配置 SonarQube 扫描参数:

sonar.projectKey=your_project_key
sonar.projectName=Your React Project
sonar.projectVersion=1.0
sonar.sources=src
sonar.exclusions=/node_modules/,/coverage/
sonar.tests=src
sonar.test.inclusions=/*.test.js,/*.test.jsx
sonar.javascript.lcov.reportPaths=coverage/lcov.info
sonar.sourceEncoding=UTF-8

运行 SonarScanner 进行扫描:

sonarqube如何扫描react

sonar-scanner

配置 React 项目的代码覆盖率

SonarQube 需要代码覆盖率数据来生成报告。使用 Jest 或其他测试工具生成覆盖率报告,并确保输出 LCOV 格式。

package.json 中配置 Jest 以生成覆盖率报告:

"scripts": {
  "test": "jest --coverage"
}

运行测试并生成覆盖率报告:

sonarqube如何扫描react

npm test

集成 SonarQube 到 CI/CD 流程

在 CI/CD 流程中集成 SonarQube 扫描,确保每次代码提交或合并时自动执行扫描。例如,在 GitHub Actions 中添加以下步骤:

- name: SonarQube Scan
  run: sonar-scanner
  env:
    SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
    SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}

解决常见问题

如果扫描时遇到 ESLint 或 TypeScript 相关错误,确保项目中已安装必要的依赖:

npm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin

对于 TypeScript 项目,在 sonar-project.properties 中添加:

sonar.typescript.lcov.reportPaths=coverage/lcov.info

查看扫描结果

扫描完成后,登录 SonarQube 服务器查看分析结果。SonarQube 会提供代码质量指标、漏洞、代码异味和测试覆盖率等详细报告。根据报告中的建议修复问题,优化代码质量。

标签: sonarqubereact
分享给朋友:

相关文章

如何降低react版本

如何降低react版本

降低 React 项目版本的步骤 检查当前 React 版本 运行以下命令查看项目中安装的 React 当前版本: npm list react 或 yarn list react 修改…

react 如何跳转

react 如何跳转

使用 React Router 进行页面跳转 React 应用中通常使用 react-router-dom 库实现页面跳转。以下是几种常见的跳转方式: 安装依赖 npm install react…

react如何扩展

react如何扩展

扩展 React 项目的常用方法 使用高阶组件(HOC) 高阶组件是一种复用组件逻辑的方式。通过包裹组件并注入额外属性或逻辑,可以实现功能扩展。例如,一个日志记录的高阶组件: function…

react如何折叠

react如何折叠

在 React 中实现折叠功能 使用 useState 管理折叠状态 通过 useState 定义一个状态变量来控制折叠面板的显示与隐藏。例如: const [isCollapsed, setIsC…

如何搭建react项目

如何搭建react项目

使用 Create React App 搭建项目 Create React App (CRA) 是官方推荐的快速搭建 React 项目的工具,无需配置构建工具(如 Webpack 或 Babel)。…

react如何激活跟踪

react如何激活跟踪

激活 React 跟踪的方法 React 跟踪通常指性能监控、状态变更追踪或用户行为分析。以下是几种常见场景的激活方式: 使用 React DevTools React DevTools 是官方…