

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 为 `APPSYNC_JS` 运行时配置实用程序
<a name="utility-resolvers"></a>

AWS AppSync 提供了两个有助于使用`APPSYNC_JS`运行时开发解析器的库：
+ `@aws-appsync/eslint-plugin` - 在开发过程中快速捕获并修复问题。
+ `@aws-appsync/utils` - 在代码编辑器中提供类型验证和自动完成功能。

## 配置 ESLint 插件
<a name="utility-resolvers-configuring-eslint-plugin"></a>

[ESLint](https://eslint.org/)是一种静态分析代码以快速发现问题的工具。您可以 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-in 和 for-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 | 不允许使用 \$1\$1、-- 和 \$1 一元运算符。 | 
| no-disallowed-binary-operators | 不允许使用 instanceof 运算符。 | 
| no-promise | 不支持异步过程和 Promise。 | 

**“插件：@aws-appsync/推荐”** 提供了一些额外的规则，但也要求你为项目添加 TypeScript 配置。


| 规则 | 说明 | 
| --- | --- | 
| no-recursion | 不允许使用递归函数调用。 | 
| no-disallowed-methods | 不允许使用某些方法。请参阅[参考](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-util-reference-js.html)以了解支持的全套内置函数。 | 
| no-function-passing | 不允许将函数作为函数参数传递给函数。 | 
| no-function-reassign | 无法重新分配函数。 | 
| no-function-return | 函数不能是函数的返回值。 | 

要将插件添加到您的项目中，请按照 “[入门” 中的安装和使用步骤进行](https://eslint.org/docs/latest/user-guide/getting-started#installation-and-usage)操作 ESLint。然后，使用项目包管理器（例如 npm、yarn 或 pnpm）在项目中安装[插件](https://www.npmjs.com/package/@aws-appsync/eslint-plugin)：

```
$ npm install @aws-appsync/eslint-plugin
```

在 `.eslintrc.{js,yml,json}` 文件中，将 **"plugin:@aws-appsync/base"** 或 **"plugin:@aws-appsync/recommended"** 添加到 `extends` 属性中。以下代码段是以下内容的基本示例`.eslintrc`配置： JavaScript

```
{
  "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"]
}
```