as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持

使用Vega ESLint插件发现性能问题

使用Vega ESLint插件发现性能问题

eslint-plugin-kepler为Vega应用提供自动lint规则,帮助您发现和修复性能问题。

安装和配置插件

  1. 安装Vega ESLint插件:

    已复制到剪贴板。

    npm install --save-dev @amazon-devices/eslint-plugin-kepler
    
  2. 在您的项目中配置ESLint:
    1. 更新.eslintrc配置文件的extendsplugins

      已复制到剪贴板。

      {
      "extends": [
               "@react-native",
               "eslint:recommended",
               "plugin:@amazon-devices/eslint-plugin-kepler/performance" // 添加扩展
      ],
      "plugins": [
               "@typescript-eslint", 
               "@amazon-devices/kepler" // 纳入插件
      ],
      "parserOptions": {
               "project": "./tsconfig.json" 
      },
      "parser": "@typescript-eslint/parser"
      }
      
    2. (可选)您可以按照ESLint文档中的配置规则(仅提供英文版)中所述自定义lint规则来满足您的要求。有关此插件提供的所有规则,请参阅ESLint规则。

    3. package.json中指定自定义格式化器:

      已复制到剪贴板。

      {
      "scripts": {
         :
         "lint": "eslint src test --ext .ts,.tsx --format node_modules/@amazon-devices/eslint-plugin-kepler/dist/formatters/default.js",
         :
         }
      }
      
  3. 运行linter:

    已复制到剪贴板。

     npm run lint
    

    您可以在控制台上看到结果:

    该图像显示了运行linter后的命令提示符输出
    运行linter后控制台显示输出

    除了控制台输出外,linter还生成HTML报告:

    该图像是Vega项目的ESLint分析报告,重点介绍了两个与性能相关的警告:缺少针对完全绘制时间指标的useReportFullyDrawn() 和用于启动画面优化的usePreventHideSplashScreen() 的实现。该报告显示代码库中没有严重错误。
    Vega ESLint性能报告

    在编辑代码时,您可以在VS Code上查看这些linter警告:

    该图显示了VS Code上的linter警告
    linter警告

ESLint规则

规则名称 默认严重性 描述 最佳实践
@amazon-devices/kepler/flat-list 警告 - 标记问题但不会导致构建失败 检查FlatList元素是否有足够的属性 FlatList
@amazon-devices/kepler/check-subscription 警告 - 标记问题但不会导致构建失败 检查useAddVegaAppStateListenerCallback和useAddUserInputListenerCallback安装的回调是否已正确取消订阅 侦听器、事件订阅和计时器
@amazon-devices/kepler/animated 错误 - 标记问题并且会导致构建失败 检查动画元素组件是否使用原生驱动程序 Animated库
@amazon-devices/kepler/detect-report-fully-drawn 警告 - 标记问题但不会导致构建失败 检查是否正确调用useReportFullyDrawn() 完全绘制的标记
@amazon-devices/kepler/detect-splash-screen 警告 - 标记问题但不会导致构建失败 检查是否正确调用usePreventHideSplashScreen() 和useHideSplashScreenCallback()。 SplashScreenManager

Last updated: 2025年9月30日