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

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

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

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

Netlify

Netlifyは、静的サイトを超高速でホスティングできる高機能なWebサービスです。WordPressといった動的処理を必要としないLPなどの静的Webサイトを公開することが可能。カスタムドメイン設定や無料SSL証明書などの多くの機能を無料で使用できます。

MicroCMS

MicroCMSとは、APIベースのヘッドレスCMSです。日本製のため、デフォルトで日本語に対応しており、サポートも豊富。管理画面でも作成したコンテンツなどが見やすくシンプルで、APIの管理がしやすい点も特徴です。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

Q&A

解決済

1回答

374閲覧

Nuxt3+microcms+netlifyで作成したWEBサイトで401エラー

tttaison

総合スコア24

Nuxt.js

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

Netlify

Netlifyは、静的サイトを超高速でホスティングできる高機能なWebサービスです。WordPressといった動的処理を必要としないLPなどの静的Webサイトを公開することが可能。カスタムドメイン設定や無料SSL証明書などの多くの機能を無料で使用できます。

MicroCMS

MicroCMSとは、APIベースのヘッドレスCMSです。日本製のため、デフォルトで日本語に対応しており、サポートも豊富。管理画面でも作成したコンテンツなどが見やすくシンプルで、APIの管理がしやすい点も特徴です。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

0グッド

0クリップ

投稿2024/03/14 12:27

実現したいこと

401エラー、Hydration children mismatchを解消したい

発生している問題・分からないこと

下記の問題が発生。

・本番環境にて401エラー(microcmsで作成したブログ部分が表示しない。.envの設定はnetlify側wにも追加済)
・ローカル環境にてhydration children mismatch発生(出力データや記事の表示件数にズレも見当たらずどこが引っかかっているのか見当がつきません、、、)

microcmsの設定はhttps://blog.microcms.io/nuxt3-jamstack-blog/ を参照しました。

エラーメッセージ

error

1本番環境の場合(netlify) 2Failed to load resource: the server responded with a status of 401 () 3 4ローカルの場合 5chunk-UKZM2QLG.js?v=6ab75479:1502 [Vue warn]: Hydration children mismatch on 6<ul class="bl_blogList" data-v-inspector="components/bloglist.vue:3:5"> 7Server rendered element contains more child nodes than client vdom.

該当のソースコード

blogs.vue

1<template> 2 <div> 3 <section class=""> 4 <div class="container"> 5 <h1 class="el_head">投稿一覧</h1> 6 <ul class="bl_blogList"> 7 <li v-for="blog in data?.contents" :key="blog.id"> 8 <NuxtLink :to="`/${blog.id}`"> 9 <img :src="blog.eyecatch?.url || '/noimg.jpg'" :width="blog.eyecatch?.width" :height="blog.eyecatch?.height" alt="" /> 10 <h4>{{ blog.title }}</h4> 11 <span class="el_blogLabel">{{ blog.category?.name }}</span> 12 <span class="el_blogData">{{ dataFormat(blog.publishedAt ?? blog.createdAt) }}</span> 13 </NuxtLink> 14 </li> 15 </ul> 16 </div> 17 </section> 18 <Footer /> 19 </div> 20</template> 21 22<script setup lang="ts"> 23import type { Blog } from "~~/types/blog"; 24import { dataFormat } from '~~/utils/dataFormat'; 25const { data } = await useMicroCMSGetList<Blog>({ 26 endpoint: "blogs", 27}); 28</script>

blog.ts

1import type { MicroCMSImage, MicroCMSListContent } from "microcms-js-sdk"; 2import type { Category } from "./category"; 3 4export type Blog = { 5 title?: string; 6 content?: string; 7 eyecatch?: MicroCMSImage; 8 category: (MicroCMSListContent & Category) | null; 9};

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

ローカル環境でのHydration children mismatch解消のため、ネット検索+chatgptなどで解決を図るもズレが見当たらずどこを直してよいかわからない。
本番環境に移したら解決するのかと思い、github連携からnetlifyにデプロイ。
サイトは問題なく表示するが、ブログに関する部分が401エラーで表示しない。という状況です。
根本的に見る場所が間違っているのでしょうか?

補足

・node.js v18.19.0
・npm 10.2.3

Nuxt@3.10.0
・microcms
・netlify

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

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

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

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

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

guest

回答1

0

自己解決

いろいろと試しましたが、解決に至らなかったので、コード自体外すことにしました。

投稿2024/03/16 03:35

tttaison

総合スコア24

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問