質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

静的サイトジェネレータ

静的サイトジェネレータは、何かしらの言語で書いたコードからHTML/CSS/JavaScriptによる静的なWebサイトを生成するツール。表示が高速で安定したサイトを運用することが可能です。セキュリティリスクの軽減やサーバへのアクセス負荷が少ないといった利点があります。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Q&A

解決済

1回答

1695閲覧

Nuxt npm run generateで生成されたdistフォルダの公開

s.s

総合スコア13

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

静的サイトジェネレータ

静的サイトジェネレータは、何かしらの言語で書いたコードからHTML/CSS/JavaScriptによる静的なWebサイトを生成するツール。表示が高速で安定したサイトを運用することが可能です。セキュリティリスクの軽減やサーバへのアクセス負荷が少ないといった利点があります。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

0グッド

0クリップ

投稿2022/05/18 08:44

編集2022/05/18 08:44
npm run generate

で生成されたdistフォルダの中身をサーバの/var/www/htmlに展開し、nginxのconfファイルを

location / { root /var/www/html }

と記載しリンクにアクセスしたところ、直下のindex.htmlファイルは開く事ができるのですが、そこからページ移動する事ができません。
404エラーが出てしまいます・・・

Nuxtの静的サイト公開で調べたところ、Netilifyでの公開記事が多かったので試しにdistフォルダをNetilifyにアップしてみたのですが
こちらはなんの問題もなく公開する事ができました。
nginx側での設定の問題でしょうか?rootを指定するだけではダメ・・・?
同じdistフォルダで試しているのでdist自体に問題があるわけではなさそうですが・・・

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

全てのへのアクセスをindex.htmlに集中させる必要があります。
下記のように変更すると、期待通りの動作をすると思います。

location / { add_header Cache-Control "no-store"; try_files $uri $uri/index.html /index.html; }

spa nginx configなどのワードで検索するといろいろとnginxの設定例がでてきますので参考にすると良いと思います。

投稿2022/05/18 10:46

Arahabica

総合スコア209

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

s.s

2022/05/19 05:15 編集

回答ありがとうございます。 早速試してみました、トップページ(index.html)からおしらせ等の別ページに飛ぶ際に、404エラーは出なくなったのですが。一瞬だけ別ページが表示された後なぜか消えてしまいます。消えるというよりは強制的に別のページに飛ばされる感じでしょうか、トップページに戻るわけでは無いのですが・・・ html内で読み込んでるjsスクリプトが原因かと考えていますが、こちらもサーバ側の設定で解消することが出来るのか不明です。 configの内容 location / { root /var/www/html; add_header Cache-Control "no-store"; try_files $uri $uri/index.html /index.html; } ディレクトリの階層 /var/www/html | |_nuxt | |_.jsファイル | |_imagesフォルダ | |_各htmlファイル
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問