JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

GatsbyJSサイトにカスタムJavaScriptを追加する方法

GatsbyJSはReactベースのフレームワークですが、プロジェクトにプレーンな(バニラ)JavaScriptを追加したい場面は意外と多くあります。たとえば、旧サイトからGatsbyへ移行したばかりで、React構文への書き換えがまだ済んでいないカスタムスクリプトが大量にある――そんな経験はありませんか?

幸い、Gatsbyに素のJavaScriptを追加するのはそれほど難しくありません。ポイントは、デフォルトではプロジェクト内に表示されない html.js というファイルを公開(利用可能な状態に)することです。

html.jsファイルを公開する

まず、ターミナルを開き、Gatsbyプロジェクトのルートフォルダに移動して、以下のコマンドを実行します。

cp .cache/default-html.js src/html.js

これで src フォルダ内に html.js ファイルが作成されます。

GatsbyJSサイトにカスタムJavaScriptを追加する方法

スクリプトタグを追加する

html.js を開くと、見覚えのあるHTML構文が並んでいます。既存のコードには一切触れず、dangerouslySetInnerHTML 属性が付いたdiv要素に注目してください。<script> 要素でも、この同じ属性を使用します。

次のスニペットをコピーし、html.js の閉じbodyタグ </body>直前に貼り付けてください。

<script
  dangerouslySetInnerHTML={{
    __html: `
    console.log('Plain JavaScript inside Gatsby!');
`
  }}
/>

変更を保存し、Gatsbyの開発サーバーを起動します。すでにサーバーが稼働している場合は、ブラウザのタブを再読み込みしてください。正しく設定できていれば、Chromeのコンソールに次のメッセージが表示されるはずです。

Plain JavaScript inside Gatsby!

クリックイベントで動作を確認する

さらに一歩進んで、script要素内にアラート付きのクリックイベントを追加してみましょう。

document.body.addEventListener('click', function() {
  alert('JavaScript!')
})

これで、ページ上のどこかをクリックすると「JavaScript!」というアラートがポップアップ表示されるようになります。

参考リソース

より詳しい情報については、GatsbyJS公式ドキュメントのカスタムJavaScriptの追加に関するページを参照してください。

  1. WordPressサイトにクールなタイピングエフェクトを追加する方法

    「コンテンツは王、デザインは女王」とよく言われます。今日のウェブサイトにおいて、これはまさに真実と言えるでしょう。目を引くデザインは、訪問者の注意をつかむための強力な武器になります。綿密に設計されたレイアウト、調和のとれた配色、美しいフォントに加えて、訪問者の注目を一瞬で集める方法のひとつが、動きのあるタイプライター風テキストの活用です。WordPressユーザーなら、Typed Jsというプラグインを使うことで、この効果を誰でも簡単に実現できます。補足:このエフェクトはテキストが動く仕組みのため、文章や静止画だけではその「クールさ」を伝えきれません。そこで筆者は自身の個人サイトプロジェクトで

  2. Microsoft 365 アカウントにカスタムドメインを追加する方法【初心者向け完全ガイド】

    ビジネスオーナーであれば、Microsoft 365 のドメインにも自社の会社名を使いたいと考えるのは自然なことです。Microsoft 365(Office 365)のアカウントには、初期状態で「company.onmicrosoft.com」のような汎用ドメイン名が割り当てられています(company の部分はアカウント名です)。この既定のドメインでも Office アプリや Exchange サービスでメールアドレスを作成・利用できますが、すでに独自のドメイン名(mycompany.com など)をお持ちなら、それを Microsoft 365 アカウントに追加して、「admin@wsx