ブログ構築カテゴリーの記事修正、更新情報【2020/05/19追記: このカテゴリーの更新を一旦終了といたします】
  • 2019.09.28に公開
  • 2020.05.19に更新
  • ブログ構築
  • 0. 更新情報
  • No.1 / 2
「ブログ構築」では、Nuxt.js v2.14未満が使用されています。 Nuxt.jsはv2.13~14で大きなバージョンアップがありました。それに伴い、書き方も大きく変化しています。 v2.14以上で書かれた「ブログ構築」の続編は、カテゴリー「 ブログ構築TS 」 で公開しています。

この記事の内容

この記事には、「ブログ構築」に属する記事の

  • コード、コマンドの修正
  • バージョンの更新情報

を記載しています。

前提

記事に記載がある全てのコード、コマンドは、動くことを確認して公開しています。

しかし、よりベストな手法が見つかった場合、また新しいバージョンが公開された場合などに、随時デモアプリを更新していきます。

デモアプリ

書いてある通りに実行したけどアプリが動かない、コードの記載が微妙に違うなどの、エラーや疑問にぶつかった場合は、過去の記事が更新されている場合があります。

一度ここでご確認ください。

なお、全ての記事の内容は修正後の最新の内容となっています。

コードの見方

「-」マーク => 削除したコード、変更前のコマンドを表します。

「+」マーク => 追加したコード、変更したコマンドを表します。

【2020/05/19】ブログ構築カテゴリーの記事更新を終了します。

皆様。お久しぶりです。@andouです。

皆様には大変申し訳ありませんが、この「ブログ構築」カテゴリーの記事更新を一旦終了といたします。

理由は、優先すべきことが増え、このカテゴリーに時間を割けなくなったためです。

今ままいつか更新するかもと思わせぶりな状況は、読者の皆様に迷惑をかけると思いまして、今回お伝えすることにしました。

なお、質問は随時承っております。下記リンクの「Slackで質問する」ボタンをクリックし、Slackにご参加ください。

「独学プログラマ」の内容についてSlackで質問できるようになりました

今まで「ブログ構築」のカテゴリー記事を読んでくださり、本当にありがとうございました。

完。

【2019/10/16】「Nuxt.jsにContentfulのブログ記事を表示する」を修正しました。

記事リンク

Nuxt.jsにContentfulのブログ記事を表示する

修正内容

目次「共通メソッドをVuexに追加する」のstore/index.jsファイルの画像URLに"https:"を付けました。

(修正前)store/index.js
import defaultEyeCatch from '~/assets/images/defaultEyeCatch.png'

export const getters = {
  setEyeCatch: () => (post) => {
    if (!!post.fields.image && !!post.fields.image.fields) return {
      url: post.fields.image.fields.file.url, 
      title: post.fields.image.fields.title 
    }
    else return { url: defaultEyeCatch, title: 'defaultImage' }
  }
}

(修正後)store/index.js
import defaultEyeCatch from '~/assets/images/defaultEyeCatch.png'

export const getters = {
  setEyeCatch: () => (post) => {
    if (!!post.fields.image && !!post.fields.image.fields) return {
      url: `https:${post.fields.image.fields.file.url}`, // ここにhttps:を付けました
      title: post.fields.image.fields.title 
    }
    else return { url: defaultEyeCatch, title: 'defaultImage' }
  }
}

修正理由

Google Chromeが混合コンテンツをブロックすると発表があったためです。

混合コンテンツとは、SSL化したページに含まれる、「http」から始まるURLのコンテンツのことです。

Contentfulからイメージを取得する場合、デフォルトのイメージURLは「http」となっています。

SSL化したURLでイメージを取得するには、明示的に「https」を付ける必要があります。

参考

日本語の記事ではこの方がすごく分かりやすく説明してくれています。
【SEO】Chromeが「混合コンテンツ」をブロックする件【期限あり】

images - Contentful
混合コンテンツとは - Google
HTTPSに関する混合メッセージ - Google Blog


【2019/10/08】「ContentfulからAPIを取得してNuxt.jsで記事一覧を表示する」を修正しました。

記事リンク

ContentfulからAPIを取得してNuxt.jsで記事一覧を表示する

修正内容

目次「Vuetifyの魔力で見た目をかっこよくする」のindex.vueファイルにclass="mx-auto"を追加しました。

(目次)Vuetifyの魔力で見た目をかっこよくする

(修正前) pages/index.vue
<template>
  <v-container fluid>
    <v-row
      justify="center"
    >
      <v-col
        cols="12"
        sm="11"
        md="10"
        xl="8"
      >
        <v-row v-if="posts.length">
          <v-col
            v-for="(post, i) in posts"
            :key="i"
            cols="12"
            sm="6"
            lg="4"
            xl="3"
          >
            <v-card
              max-width="400"
            >
             ...
(修正後) pages/index.vue
<template>
  <v-container fluid>
    <v-row
      justify="center"
    >
      <v-col
        cols="12"
        sm="11"
        md="10"
        xl="8"
      >
        <v-row v-if="posts.length">
          <v-col
            v-for="(post, i) in posts"
            :key="i"
            cols="12"
            sm="6"
            lg="4"
            xl="3"
          >
            <v-card
              max-width="400"
              class="mx-auto"	<!-- 追記しました -->
            >
             ...

修正理由

記事を表示するカードを、中央寄せにするためです。

記事をアップロードした段階では、中央寄せできていないことに気付いていませんでした。申し訳ありません。

class="mx-auto"がない場合

2019-10-08 10-37-30

class="mx-auto"がある場合

2019-10-08 10-35-22


【2019/10/04】デモブログをNuxt.js2.10.0にバージョンアップしました

デモブログのリンク

https://demo-blog.cloud-acct.com/

更新内容

Nuxt.jsのバージョンをv2.8.1からv2.10.0へバージョンアップしました。

バージョンアップ方法

Nuxt.jsのプロジェクトディレクトリで、下記コマンドを実行してください。

$ yarn upgrade nuxt

バージョンアップを確認するには下記コマンドを実行します。

$ yarn list nuxt
...
└─ nuxt@2.10.0

Nuxt.2.10.0 バージョンアップに伴う変更点(1)

  • Vuetifyモジュールを、公式に合わせbuildModulesに書き換えました。

公式

@nuxtjs/vuetify - npm

nuxt.config.js
	// 追記
	buildModules: [
    '@nuxtjs/vuetify'
  ],
	// 追記終了
    
  modules: [
//    '@nuxtjs/vuetify',  削除
    '@nuxtjs/axios',
    '@nuxtjs/eslint-module',
    '@nuxtjs/dotenv'
  ],
    
} 

buildModulesはNuxt.js2.9から利用できるようになったプロパティです。

buildModules を使用すると、本番環境の起動を高速化し、本番環境のデプロイで node_modules のサイズを大幅に削減することができます。

引用

modulesプロパティ - Nuxt.js

Nuxt.2.10.0 バージョンアップに伴う変更点(2)

  • no-ssrタグをclient-onlyに書き換えました。

修正内容

<template>
<!--  <no-ssr>  削除 -->
<!--  </no-ssr>  削除 -->
	<client-only>
    ...
  </client-only>
</template>

no-ssrタグはNuxt.js3.0以降、削除されます。

コンソールに下記の警告が出た場合、すべてclient-onlyに書き換えてください。

 <no-ssr> has been deprecated and will be removed in Nuxt 3, please use <client-only> instead

以上、Nuxt.js2.10.0 バージョンアップに伴う変更点でした。


【2019/10/04】「ContentfulからAPIを取得してNuxt.jsで記事一覧を表示する」を修正しました。

記事リンク

ContentfulからAPIを取得してNuxt.jsで記事一覧を表示する

修正内容

目次「.envファイルの環境変数をNuxtに登録する」でenvプロパティに登録した、CTF_PREVIEW_ACCESS_TOKENを削除しました。

(目次).envファイルの環境変数をNuxtに登録する

nuxt.config.js
{
  ...
  ],
    
	// 追記
  env: {
    // contentful
    CTF_SPACE_ID: process.env.CTF_SPACE_ID,
    CTF_BLOG_POST_TYPE_ID: process.env.CTF_BLOG_POST_TYPE_ID,
    CTF_CDA_ACCESS_TOKEN: process.env.CTF_CDA_ACCESS_TOKEN,
		// CTF_PREVIEW_ACCESS_TOKEN: process.env.CTF_PREVIEW_ACCESS_TOKEN  削除しました
  },
	// 追記終了
    
  axios: {},
  ...
}

修正理由

CTF_PREVIEW_ACCESS_TOKENは、本番環境で必要としないため、登録する必要がありません。

当初、必要だと勘違いしていた筆者のミスです。

申し訳ありません。

修正後の内容

記事上の修正後のenvプロパティはこのようになります。

next.config.js
export default{
  
  env: {
    CTF_SPACE_ID: process.env.CTF_SPACE_ID,
    CTF_BLOG_POST_TYPE_ID: process.env.CTF_BLOG_POST_TYPE_ID,
    CTF_CDA_ACCESS_TOKEN: process.env.CTF_CDA_ACCESS_TOKEN
  },
  
}

【2019/09/27】「【Nuxt.js Universal】Vuetify2.0にバージョンアップしよう」の記事の修正をしました

記事リンク

【Nuxt.js Universal】Vuetify2.0にバージョンアップしよう

修正内容

@nuxtjs/vuetifyfontawesomeのインストール先をdevDependenciesに変更しました。

- $ yarn add @nuxtjs/vuetify

+ $ yarn add @nuxtjs/vuetify -D
- yarn add @fortawesome/fontawesome-free

+ yarn add @fortawesome/fontawesome-free -D

修正理由

公式サイトに合わせるためです。

既にdependenciesにインストールしている場合

アプリを自分だけで利用する場合や、別プロジェクトに組み込む予定がない場合、dependenciesとdevDependencies、どちらにインストールしても構いません。

よって今回の修正は無理にしなくても大丈夫です。

修正する場合

  • 一度モジュールを削除します
$ yarn remove @fortawesome/fontawesome-free @nuxtjs/vuetify
  • 再度 -D オプションをつけてインストールします。
$ yarn add  @fortawesome/fontawesome-free @nuxtjs/vuetify -D

package.jsonのdevDependencies内にインストールされていれば成功です。

参考

この記事は、dependenciesとdevDependenciesの違いがよくわかりました。

なんとなくで理解している方は、ぜひ読んでみてください。

ちゃんと使い分けてる? dependenciesいろいろ。- Qiita

あなたの力になれること
私自身が独学でプログラミングを勉強してきたので、一人で学び続ける苦しみは痛いほど分かります。そこで、当時の私がこんなのあったら良いのにな、と思っていたサービスを立ち上げました。周りに質問できる人がいない、答えの調べ方が分からない、ここを聞きたいだけなのにスクールは高額すぎる。そんな方に向けた単発・短期間メンターサービスを行っています。
独学プログラマのサービス
ブログ構築の投稿
1
  • 更新情報
  • /
  • #01
ブログ構築カテゴリーの記事修正、更新情報【2020/05/19追記: このカテゴリーの更新を一旦終了といたします】
2
  • 更新情報
  • /
  • #02
Nuxt.js v2.13.0新機能メモの公開とv2.12.2にダウングレードする方法
1
  • 今回作るアプリケーション
  • /
  • #01
Nuxt.jsとContentfulで作るマイブログ
1
  • 開発環境にNuxt.jsを立ち上げる
  • /
  • #01
Nuxt.jsを動かす環境を構築する
2
  • 開発環境にNuxt.jsを立ち上げる
  • /
  • #02
Nuxt.jsのプロジェクトを作成する
3
  • 開発環境にNuxt.jsを立ち上げる
  • /
  • #03
Hello Nuxtを表示する
1
  • Nuxt.jsアプリを公開する
  • /
  • #01
Nuxt.jsをデプロイする前の事前準備を行う
2
  • Nuxt.jsアプリを公開する
  • /
  • #02
Netlifyの初期セットアップとNuxt.jsのデプロイを行う
3
  • Nuxt.jsアプリを公開する
  • /
  • #03
NetlifyにデプロイしたNuxt.jsに独自ドメインを設定する
1
  • Contentfulのセットアップ
  • /
  • #01
【Nuxt.js Universal】Vuetify2.0にバージョンアップしよう
2
  • Contentfulのセットアップ
  • /
  • #02
【画像で説明】Contentfulの使い方。初期設定と各メニューについて学ぶ
3
  • Contentfulのセットアップ
  • /
  • #03
Contentfulにブログ記事モデルを作成していこう
4
  • Contentfulのセットアップ
  • /
  • #04
ContentfulからAPIを取得してNuxt.jsで記事一覧を表示する
1
  • ブログ記事周りの構築
  • /
  • #01
Nuxt.jsにContentfulのブログ記事を表示する
2
  • ブログ記事周りの構築
  • /
  • #02
Contentfulから取得した下書き記事を開発環境に表示する
3
  • ブログ記事周りの構築
  • /
  • #03
Nuxt.jsのgenerateプロパティに動的なルーティングを追加する
4
  • ブログ記事周りの構築
  • /
  • #04
【Nuxt.js】middlewareを活用しブログ記事取得のパフォーマンスを改善する
1
  • カテゴリーページの構築
  • /
  • #01
【Contentful】カテゴリーモデルとブログ記事モデルの関連付け
2
  • カテゴリーページの構築
  • /
  • #02
【Nuxt.js × Contentful】ブログ記事に関連付くカテゴリーを表示する
3
  • カテゴリーページの構築
  • /
  • #03
【Nuxt.js × Contentful】カテゴリー記事一覧ページを作成する
1
  • タグ機能の構築
  • /
  • #01
Contentfulにタグモデルを作成し関連付けを行う
2
  • タグ機能の構築
  • /
  • #02
【Nuxt.js × Contentful】タグに関連付いたブログ記事を表示する
3
  • タグ機能の構築
  • /
  • #03
Contentfulのincludesを使って関連モデルを取得しタグ一覧ページを作成する
4
  • タグ機能の構築
  • /
  • #04
Vuetify2のdata-tableの使い方を学んで、タグ一覧ページをレイアウト
1
  • Nuxt.jsブログカスタマイズ
  • /
  • #01
Twitterシェアボタン、フォローボタンの作り方【Nuxt.js Universalモード編】
2
  • Nuxt.jsブログカスタマイズ
  • /
  • #02
Contentfulの全文検索を使ったNuxt.jsブログ内検索の実装
独学プログラマ
独学でも、ここまでできるってよ。
CONTACT
Nuxt.js制作のご依頼は下記メールアドレスまでお送りください。