当前位置:首页 > 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 页面 使用 create-react-app 快速初始化项目: npx create-react-app my-app cd my-app npm start 基础页面结构 在 s…

react如何检测

react如何检测

检测 React 应用的方法 使用 PropTypes 进行类型检查 PropTypes 是 React 内置的类型检查工具,用于验证组件的 props 是否符合预期。在开发环境中,PropTypes…

react如何配置

react如何配置

配置React项目的基本步骤 安装Node.js和npm 确保系统已安装Node.js(包含npm)。可通过命令行检查版本: node -v npm -v 创建React项目 使用官方工具Creat…

如何读react源码

如何读react源码

理解React源码的结构 React源码托管在GitHub上,主要分为几个核心模块:react、react-dom、react-reconciler等。react包包含核心API和组件逻辑,react…

react如何建项目

react如何建项目

创建React项目的几种方法 使用官方工具Create React App(CRA) npx create-react-app my-app 这条命令会创建一个名为my-app的新React项目,包含…

react 如何修改state

react 如何修改state

修改 state 的基础方法 在 React 中,state 的修改必须通过 setState 方法(类组件)或 state 更新函数(函数组件)。直接修改 state 会导致组件不会重新渲染,且可能…