設定APPSYNC_JS執行時間的公用程式 - AWS AppSync GraphQL

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定APPSYNC_JS執行時間的公用程式

AWS 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」會設定一組基本規則,供您在專案中運用:

規則 描述
無非同步 不支援非同步程序和承諾。
無等待 不支援非同步程序和承諾。
無類別 不支援類別。
for 不支援 (for-of受支援的 for-in和 除外)
不繼續 不支援 continue
無生成器 不支援產生器。
無產出 不支援 yield
無標籤 不支援標籤。
否-此 this 不支援 關鍵字。
無嘗試 不支援 Try/catch 結構。
無同時 雖然不支援迴圈。
no-disallowed-unary-operators ++不允許 、 --~ unary 運算子。
no-disallowed-binary-operators 不允許 instanceof運算子。
無承諾 不支援非同步程序和承諾。

「plugin:@aws-appsync/recommended」提供一些額外的規則,但也需要您將 TypeScript 組態新增至專案。

規則 描述
無遞迴 不允許遞迴函數呼叫。
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"] }