Web活のロゴ

Web制作Output&初心者のための徹底ガイド

Node.jsを活用した開発環境の構築。
自動リロードでスタイルを適応させて
開発を向上させましょう。#1/2

2023.08.27Wordpressの開発環境の向上。自動リロードの実装。
はじめに
概要

WordPressの開発においても、VscodeのGoLiveのように、自動リロードする環境でスタイルを適用させてスムーズに開発を進めたいものです。VsCode の Live Server は、主に静的なファイル(HTML, CSS, JavaScriptなど)のためのもので、サーバーサイドの言語やデータベースにアクセスするための仕組みを持っていません。そこでNode.jsを使用します。Node.jsはサーバーサイドで実行されるJavaScriptで、開発環境に最適なパッケージが提供されています。ぜひ活用してください。なお、本構築はまずテスト環境で行い、子テーマを作成してカスタマイズすることをおすすめします。子テーマの構築はこちらを参照してください。

スポンサーリンク
※本記事の情報は執筆時点のものであり、閲覧時点では変更されている可能性があります。また、ご利用の環境によっては、本記事の内容が正常に動作しないことがあります。最新の情報については、公式サイトなどでご確認ください。なお、本環境の開発は必ずバックアップを取った上、まずはテスト環境で構築することをおすすめします。本構築に関してトラブルが発生した場合でも責任は負いかねますのでご了承ください。

ローカル環境の構築

Local(旧Local by Flywheel)

まず、開発のためのローカル環境を構築しましょう。おすすめは「Local(旧Local by Flywheel)」です。煩雑な構築手順を省いて、簡単にローカル環境を構築できます。こちらの動画わかり易く説明してくれてます。Naomiさんありがとうございます。

スポンサーリンク

Browser-Syncモジュール

まず、環境に合わせてNode.jsをインストールします。
公式サイトのリンクを添付します。※ドキュメントを熟読し、各環境に応じたバージョンでインストールしてください。Node.jsは繊細なコンポーネントを持つため、インストール時には慎重に進める必要があります。

手順①

まずは Node.jsプロジェクトを初期化しましょう。

ターミナル

npm init -y

package.jsonが生成されたらOKです。

手順②

続いてbrowsdr-syncモジュールを追加します。こちらのパッケージがVscodeのLiveServerのように、ローカル環境を立ち上げて自動リロードしてくれます。

ターミナル

npm add browser-sync --dev

手順③

npmコマンドを実行し、それぞれのプロジェクトに応じたパスを記述して、browser-syncが正常に機能するようにします。以下は私の環境のコマンド例です。

package.json

"scripts": {
   "watch": "browser-sync start --proxy 'engress.local' --files './**/*'"
 },

「engress.local」の部分には、自分のURLを記述してください。–filesの指定は’./**/*’を使用することで、自動リロードが正常に機能しました。ただし、’/**/*’という指定は、私の環境では正常に起動しなかったため、ご注意ください。

子テーマのスタイルを変更し、ブラウザがリロードして変更が反映されれば成功です。

子テーマのステイルを適応

get_stylesheet_directory_uri()関数

get_template_directory_uri()は、themeまでのurlを取得する関数です。この関数を使用すると、親テーマのパスが取得されますが、子テーマのスタイルは適用されません。子テーマのスタイルを適応するget_stylesheet_directory_uri()を使用した値は次の通りです。

http://blog200.local/wp-content/themes/blog-childとなります。

※なお、こちらのbrowser-syncでサイトを正常に表示されるためには、画像やページ遷移のパスにWordpressが提供している関数を適切に使用していることが条件になります。この関数は、アドレスが変更(local:3000)されても自動的に更新されるため、デザインの崩れを防ぐことができます。クラッシックエディタやグーテンベルクでは直接PHPのコードが記述できないため、ショートコードを使う必要があります。ショートコードについてはこちらを参照してください。

スポンサーリンク
 

まとめ
  • 自動リロードで効率的な開発をサポート
  • パスの記述はWordpressの関数を使用
  • サーバー言語のnode.jsを利用
  • 子テーマのスタイル適用にはget_stylesheet_directory_uri()関数を使用