首頁 > web前端 > js教程 > 主體

將 ZingGrid 連接到 Supabase:在幾分鐘內新增後端

DDD
發布: 2024-09-13 08:15:36
原創
883 人瀏覽過

交叉發布我在 Zing 部落格上的文章。

Supabase 是一個開源 Firebase 替代品。他們提供多種服務,但出於本文的目的,我們將深入探討它如何充當網格的簡單後端。

初始設定

在開始設定網格之前,我們需要在 Supabase 方面執行幾個步驟。

1. 帳戶創建

我們首先需要建立我們將連接到的 Supabase 帳戶。您可以使用此連結註冊 Supabase。建立帳戶並確認電子郵件後,請繼續下一步。

2. 建立您的第一個項目

繼續前往儀表板頁面並建立新專案。請務必記下項目名稱和資料庫密碼。

3.記下項目訊息

此時您應該會看到您的專案 URL 和 API 金鑰。稍後我們需要在程式碼中將這兩個資料提供給 ZingGrid,因此請確保將它們儲存在安全的本機檔案中。

4. 建立您的第一個表

從側邊欄中點選「表格編輯器」部分。從這裡我們可以建立我們的第一個表

Connecting ZingGrid to Supabase: Add a Backend in Minutes

第一步是為我們的表命名,這裡我將使用 demoTable

Connecting ZingGrid to Supabase: Add a Backend in Minutes

然後我們可以編輯列,在此範例中我將有兩列。一個用於名字,一個用於姓氏。

Connecting ZingGrid to Supabase: Add a Backend in Minutes

5. 新增一些範例數據

Connecting ZingGrid to Supabase: Add a Backend in Minutes

6. 更新安全設定

我們將暫時停用行級安全性,以便我們可以出於本演示的目的輕鬆地從表中讀取和寫入。在生產中,我們需要透過身份驗證來設定適當的角色。

⚠️ 注意:此設定變更僅用於此示範的目的,不適用於生產

Connecting ZingGrid to Supabase: Add a Backend in Minutes

Supabase 適配器 - REST API

ZingGrid 支援與 Supabase 互動的兩種方式 - 透過 REST API 和客戶端腳本。我們將首先使用 REST API。

使用下面的初始示範程式碼,確保取代以下內容:

  • ***連結*** - 您之前記下的項目 URL
  • ***tableName*** - 您剛剛建立的 Supabase 表的名稱
  • ***apiKey*** - 您之前記下的 Supabase API 金鑰
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <script src="/lib/zinggrid.js"></script>
  <title>Supabase</title>
</head>
<body>
  <zing-grid
    page-size="5"
    sort
    pager
    title="Supabase"
    editor-controls
    editor-disabled-fields="id"
    src="https://***link***.supabase.co/rest/v1/***tableName***"
  >
    <zg-data adapter="supabase">
      <zg-param
        name="headers"
        value='
          {
            "Authorization": "Bearer ***apiKey***",
            "apikey": "***apiKey***"
          }'
        ></zg-param>
    </zg-data>
  </zing-grid>
</body>
</html>
登入後複製

在瀏覽器中查看該頁面時,您應該開始看到我們填充的初始資料!

Connecting ZingGrid to Supabase: Add a Backend in Minutes

SupabaseJS 適配器 - 用戶端腳本

如果您的應用程式碰巧使用 Supabase JavaScript 用戶端程式庫(您可以在其文件網站上閱讀更多相關資訊),您可以將 Supabase 憑證儲存在標記之外,從而更加靈活。

修改前面的範例,我們先建立一個 Superbase 用戶端物件(更多內容請參閱他們的文件)

const supabaseUrl = 'https://***link***.supabase.co/';
const supabaseKey = '***apiKey***';
const supabaseClient = supabase.createClient(supabaseUrl, supabaseKey);
登入後複製

然後向 ZingGrid 註冊該客戶端

ZingGrid.registerClient(supabaseClient);
登入後複製

最後我們將 zg-data 上的適配器屬性設為supabaseJS,我們有以下內容

<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Supabase</title>
  <!-- ZingGrid -->
  <script src="https://cdn.zinggrid.com/zinggrid.min.js"></script>
  <!-- Supabase Client Library -->
  <script src="https://cdn.jsdelivr.net/npm/@supabase/supabase-js@2"></script>
</head>
<body>
  <script>
    const supabaseUrl = 'https://***link***.supabase.co/';
    const supabaseKey = '***apiKey***';
    const supabaseClient = supabase.createClient(supabaseUrl, supabaseKey);
    ZingGrid.registerClient(supabaseClient);
  </script>
  <zing-grid
    page-size="5"
    sort
    pager
    title="SupabaseJS"
    editor-controls
    editor-disabled-fields="id"
  >
    <zg-data adapter="supabaseJS">
      <zg-param name="dataTable" value="***tableName***"></zg-param>
    </zg-data>
  </zing-grid>
</body>
</html>
登入後複製

跟以前一樣工作

Connecting ZingGrid to Supabase: Add a Backend in Minutes

以上是將 ZingGrid 連接到 Supabase:在幾分鐘內新增後端的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!