ホームページ > ウェブフロントエンド > jsチュートリアル > Nuxt.js で .env 変数を使用すると「ReCaptcha エラー: キーが提供されていません」というメッセージが表示されるのはなぜですか?

Nuxt.js で .env 変数を使用すると「ReCaptcha エラー: キーが提供されていません」というメッセージが表示されるのはなぜですか?

Patricia Arquette
リリース: 2024-12-03 05:02:09
オリジナル
340 人が閲覧しました

Why Am I Getting a

Nuxt.js での .env 変数の使用

問題:

変数を読み取って Nuxt.js で ReCaptcha を構成する場合.env ファイルからの場合、アプリケーションはエラーで失敗します。 「ReCaptcha エラー: キーが提供されていません」というコンソール ログ エラー。キーを直接ハードコーディングしても問題は解決せず、nuxt.config の .env 変数の読み取りに問題があることが示唆されます。

解決策:

Nuxt.js バージョン 2.13 の場合以降が使用されている場合、フレームワークは自動的に .env 変数をサポートします。 .env から変数にアクセスするには:

  1. プロジェクトのルートに .env ファイルを作成し、キーと値を追加します。例:

    RECAPTCHA_SITE_KEY=6L....
    ログイン後にコピー
  2. nuxt.config.js で、publicRuntimeConfig またはアクセス レベルに応じた privateRuntimeConfig:

    export default {
     publicRuntimeConfig: {
        recaptcha: {
          siteKey: process.env.RECAPTCHA_SITE_KEY,
          version: 3,
          size: 'compact'
        }
      }
    }
    ログイン後にコピー

相違点:

  • publicRuntimeConfig はどこからでもアクセスできます。
  • privateRuntimeConfig は SSR 中にのみ使用できます (サーバー側)

例:

this.$config.myPublicVariable  // accessing from Vue.js file
ログイン後にコピー

Nuxt.js バージョン 3 の場合:

変数の定義実行時の設定でnuxt.config.js:

import { defineNuxtConfig } from 'nuxt3'

export default defineNuxtConfig({
  runtimeConfig: {
    public: {
      secret: process.env.SECRET,
    }
  }
}
ログイン後にコピー

コンポーネントまたはコンポーザブル内:

import { useRuntimeConfig } from '#app'
const config = useRuntimeConfig()
ログイン後にコピー

追加情報については、Nuxt.js の公式ドキュメントを参照してください:
https://nuxtjs .org/blog/moving-from-nuxtjs-dotenv-to-runtime-config/

以上がNuxt.js で .env 変数を使用すると「ReCaptcha エラー: キーが提供されていません」というメッセージが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート