2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Next.jsの開発環境整備(Next.js+Nginx+CakePHP+PostgreSQL)

Last updated at Posted at 2024-02-29

はじめに

初めまして!
エンジニアになって数年、今まで本を読むだけでしたが、もっとプライベートで楽しみながら成長したい!自分が学んだ足跡を残していきたい!と思い記事を書きました!
最終的には自在に開発できるようになりたいと思っています。:triumph:
いろいろな記事を参考にさせてもらっています。:bow_tone2:
その中でもこれってどういう意味?とかつまづいたところを念入りに書いていこうかと思います。:fist:

今回の目的

前回、Web+API+DBの環境を構築しました。

今回は、ビルドしたNext.jsが動く環境をつかって、ローカル環境の開発を即時反映(ホットリロード)させられるようにします。

使用したものや事前準備

・Macbook Pro
・Visual Studio Code

主に参考にさせていただいた記事

実際にやってみた

単純でした。ローカルでNext.jsを立ち上げれば、特に修正もなくいけるはず。
API呼び出しはginxなのでそこで捌いてくれるでしょう。(フラグ)

起動します。
コンテナ起動

docker compose up 

ローカルのNext.js起動

cd web
npm run dev

動いている確認します。

CORSエラーを返されました。同一オリジンポリシーに引っかかったようです。

スクリーンショット 2024-02-29 12.34.44.png

ベストプラクティスがあるかと思いますが、上記の記事を参考にNginxのconfファイルにヘッダー設定を追加します。

       add_header Access-Control-Allow-Origin *;
server {
    listen       80;
    server_name  localhost;

    location / {
    root   /usr/share/nginx/html;
    index  index.html index.htm;
    }

    location /Hello {
       root /var/www/src/webroot/index.php;
       add_header Access-Control-Allow-Origin *;
       fastcgi_param HTTP_PROXY "";
       fastcgi_pass api:9000;
       include fastcgi_params;
    }
}

再起動して確認しましょう。
Next.jsからAPI呼び出しができていることも確認できました。

スクリーンショット 2024-02-29 12.38.07.png

ソース&データの即時反映確認

実際に修正して変更がかかるか確認します。

Next.js

問題なく、「World」から「のっぽ」になりました
変更前
スクリーンショット 2024-02-29 12.41.31.png
変更後
スクリーンショット 2024-02-29 12.41.58.png

PostgreSQL

データが変更されても表示が変更されるか確認しました。
問題なさそうです。
スクリーンショット 2024-02-29 12.43.26.png

CakePHP

APIも変更したら更新がかかるか確認します。
返還するデータ内容をresultsからmassageに変更します。
スクリーンショット 2024-02-29 12.46.03.png

問題なく更新がかかりました。
スクリーンショット 2024-02-29 12.47.40.png

最後に

同一オリジンポリシー問題にぶち当たる日が来るとは思ってもいませんでした。
いい勉強になりました。まだわからないところがあるのでNginxの勉強でまとめてやりたい。
あとは、思ったよりもDB、APIも素直に更新が反映されてよかったです。:smiley:

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?