为 APPSYNC_JS 运行时配置实用程序 - Amazon AppSync GraphQL
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

APPSYNC_JS 运行时配置实用程序

Amazon AppSync 提供了两个库,可以帮助使用 APPSYNC_JS 运行时系统开发解析器:

  • @aws-appsync/eslint-plugin - 在开发过程中快速捕获并修复问题。

  • @aws-appsync/utils - 在代码编辑器中提供类型验证和自动完成功能。

配置 ESLint 插件

ESLint 是一个静态分析代码以快速发现问题的工具。您可以将 ESLint 作为持续集成管道的一部分运行。@aws-appsync/eslint-plugin 是一个 ESLint 插件,可以在使用 APPSYNC_JS 运行时系统时捕获代码中的无效语法。通过使用该插件,您可以在开发过程中快速获得有关代码的反馈,而无需将更改推送到云端。

@aws-appsync/eslint-plugin 提供了两个可以在开发过程中使用的规则集。

"plugin:@aws-appsync/base" 配置您可以在项目中使用的一组基本规则:

规则 描述
no-async 不支持异步过程和 Promise。
no-await 不支持异步过程和 Promise。
no-classes 不支持类。
no-for 不支持 for(支持的 for-infor-of 除外)
no-continue continue不支持 。
no-generators 不支持生成器。
no-yield yield不支持 。
no-labels 不支持标签。
no-this 不支持 this 关键字。
no-try 不支持 try/catch 结构。
no-while 不支持 while 循环。
no-disallowed-unary-operators 不允许使用 ++--~ 一元运算符。
no-disallowed-binary-operators 不允许使用 instanceof 运算符。
no-promise 不支持异步过程和 Promise。

"plugin:@aws-appsync/recommended" 提供一些额外的规则,但还要求您将 TypeScript 配置添加到项目中。

规则 描述
no-recursion 不允许使用递归函数调用。
no-disallowed-methods 不允许使用某些方法。请参阅参考以了解支持的全套内置函数。
no-function-passing 不允许将函数作为函数参数传递给函数。
no-function-reassign 无法重新分配函数。
no-function-return 函数不能是函数的返回值。

要将插件添加到您的项目中,请按照 ESLint 入门中的安装和使用步骤进行操作。然后,使用项目包管理器(例如 npm、yarn 或 pnpm)在项目中安装插件

$ npm install @aws-appsync/eslint-plugin

.eslintrc.{js,yml,json} 文件中,将 "plugin:@aws-appsync/base""plugin:@aws-appsync/recommended" 添加到 extends 属性中。下面的代码片段是 JavaScript 的基本示例 .eslintrc 配置:

{ "extends": ["plugin:@aws-appsync/base"] }

要使用 "plugin:@aws-appsync/recommended" 规则集,请安装所需的依赖项:

$ npm install -D @typescript-eslint/parser

然后,创建一个 .eslintrc.js 文件:

{ "parser": "@typescript-eslint/parser", "parserOptions": { "ecmaVersion": 2018, "project": "./tsconfig.json" }, "extends": ["plugin:@aws-appsync/recommended"] }