$30 off During Our Annual Pro Sale. View Details »

Microcms + nuxt.jsで個人ブログサイトをデプロイした件

Microcms + nuxt.jsで個人ブログサイトをデプロイした件

Microcms + nuxt.jsで個人ブログサイトをデプロイした件についてお話です。

Nobuyoshi

May 17, 2020
Tweet

More Decks by Nobuyoshi

Other Decks in Programming

Transcript

  1. Microcms + nuxt.jsで個人ブログサイトをデプロイした件
    うえむー
    2020 / 5 / 17

    View Slide

  2. アジェンダ
    1.自己紹介
    2.開発経緯・手順
    3.microcms・nuxt.jsとは
    4.ブログサイトの紹介・苦労したこと
    5.今後の活動・まとめ

    View Slide

  3. 1.自己紹介
    Name
    うえむー
    Skill
    html / css / scss / javascript / jQuery / vue.js / gulp.js / php etc...
    ※趣味でgo・nuxt.js・micro cms・firebaseを勉強中です。
    今後は next.js・x-ninjaも勉強したいと思います。
    Hobby
    プログラミング学習・ビートボックス・ゴルフ・ボードゲーム・麻雀
    SNS・ブログサイト
    Twitter::https://twitter.com/uemuragame5683
    ブログサイト:https://nu-blogsite.net/

    View Slide

  4. 2.開発経緯・手順

    View Slide

  5. 2.開発経緯・手順
    開発経緯
    去年の8月にmicro cmsのサービス開始したというブログをみて、micro cmsに興味を
    持った。
    個人で作業するのは限界を感じていたので、人脈を作りたい。エンジニアの仲間と交流
    したい。
    それじゃあ、個人のブログサイトを作ろう

    View Slide

  6. 2.開発経緯・手順
    全体構成
    nu-blog
    nuxt.js
    micro cms
    レンタルサーバー・ドメイン お名前.com
    フロント CMS
    API叩く

    View Slide

  7. 2.開発経緯・手順
    1.作業手順
    2.設計・要件定義
    3.nuxt.jsをインストール
    4.設定・デザイン
         ・製造(静的コーディング)
    5.micro cmsアカウント登録
    6.コンテンツ登録・API出力
    7.製造(組み込み)
    8.お名前.com登録
    9.ドメイン・レンタルサーバー購入
                 ・SSL化
    10.検証環境デプロイ・動作検証・修正
    11.本番環境デプロイ・Nu-blog公開

    View Slide

  8. 3.microcms・nuxt.jsとは

    View Slide

  9. 3.microcms・nuxt.jsとは
    micro cmsとは
    microCMSとは2019年8月にローンチした、日本製のAPI型のヘッドレスCMS。
    コンテンツ管理のためのwordpress・Movavle Typeのようにサーバ管理は一切不要で、
    アカウント登録するだけですぐにサービスを利用開始できます。
    https://microcms.io/ 新規登録ページ
    に遷移して登録す
    るだけ

    View Slide

  10. 3.microcms・nuxt.jsとは
    ヘッドレスの「ヘッド」は、ビュー(表示する画面)のことです。
    ヘッドレスなので、ビューの無いCMSということになります。
    ヘッドレスCMSのサービスは色々あります。
    Contentful
    https://www.contentful.com/
    Graph CMS
    https://graphcms.com/

    View Slide

  11. 3.microcms・nuxt.jsとは
    なぜ、ヘッドレスCMSのサービスは何種類かあるのに、
    micro cmsにしたのか・・・?
    理由は簡単、英語が苦手だからです!

    View Slide

  12. 3.microcms・nuxt.jsとは
    従来のCMS・ヘッドレスCMSの比較
    (従来のCMSの場合)
    wordpressなどの従来のCMSは、
    ヘッダー・コンテンツ・フッターまでCMS管
    理しています。
    レンタルサーバーを借りて
    ・CMS(wordpress等)をインストール・サイ
    ト構築し、デプロイしたあと、バックエンドの
    管理画面で各コンテンツを更新していきま
    す。
    データーベース
    wordpress フロント
    サーバー

    View Slide

  13. 3.microcms・nuxt.jsとは
    従来のCMS・ヘッドレスCMSの比較
    (ヘッドレスCMSの場合)
    microcmsなどのヘッドレスCMSは、
    任意の箇所のみCMS化できます。
    コンテンツ登録して出力したAPIを、
    javascript・php・swiftなどでその
    APIを適用してコーディングします。
    スライダー・インフォーメーションなどのその
    一部分を管理画面から操作できます。
    サーバー
    データーベース
    サーバー
    micro cms
    フロント
    fetch("https://xxxxxx.microcms.io/api/v1/xxxx", {
    headers: {
    "X-API-KEY": xxxxxxxxxx
    }
    })
    .then(res => res.json())
    .then(json => {
    ……….
    コーディング
    サーバー

    View Slide

  14. 3.microcms・nuxt.jsとは
    登録・手順に関しては、個人のブログサイトで詳しくお話します!
    http://nu-blogsite.net/

    View Slide

  15. 3.microcms・nuxt.jsとは
    nuxt.jsとは
    Nuxt は、Vue の公式ガイドラインに沿って強力なアーキテクチャを提供するように設計
    されたフレームワークです。
    一部分から徐々に採用することが可能で、静的なランディングページから複雑な企業向
    け web アプリケーションの作成に使用できるそうです。
    https://ja.nuxtjs.org/guide/

    View Slide

  16. 3.microcms・nuxt.jsとは
    よくわからないので、
    Nuxt.jsで主な機能を展開します!

    View Slide

  17. 3.microcms・nuxt.jsとは
    主な機能
    ・Vue ファイルで記述できること(*.vue)
    ・コードを自動的に分割すること
    ・サーバーサイドレンダリング
    ・非同期データをハンドリングするパワフルなルーティング
    ・静的ファイルの配信
    ・JS と CSS のミニファイ化
    ・ 要素(、 など)の管理
    ・開発モードにおけるホットリローディング
    ・プリプロセッサ: Sass, Less, Stylus な
    ・モジュール構造で拡張できること etc....

    View Slide

  18. 3.microcms・nuxt.jsとは
    実装してすごいなと体感したところ
    ・Vue ファイルで記述できること(*.vue)
    ・コードを自動的に分割すること
    ・サーバーサイドレンダリング
    ・非同期データをハンドリングするパワフルなルーティング
    ・静的ファイルの配信
    ・JS と CSS のミニファイ化
    ・ 要素(、 など)の管理
    ・開発モードにおけるホットリローディング
    ・プリプロセッサ: Sass, Less, Stylus な
    ・モジュール構造で拡張できること etc....

    View Slide

  19. 3.microcms・nuxt.jsとは
    サーバーサイドレンダリング(SSR) ・ JS と CSS のバンドル及びミニファイ化
    ●サーバーサイドレンダリング(SSR)
    Javascriptでサーバー内部実行
    (コンパイル)して、HTMLを生成すること
    ●ミニファイ化
    ホームページのファイルのサイズ
    を小さくすること

    View Slide

  20. 3.microcms・nuxt.jsとは
    サーバーサイドレンダリング(SSR)
    ミニファイ化のどこがいいの?

    View Slide

  21. 3.microcms・nuxt.jsとは
    サーバーサイドレンダリング(SSR)
    JS と CSS のバンドル及びミニファイ化のメリット
    ・パフォーマンス性向上「表示速度向上」
    ・SEO対策
    ・開発効率の向上
    実装してコンパイルしてデプロイしたき、サイトを開いた時ミニファイ化した影響で表示速
    度がすごく早い!

    View Slide

  22. 3.microcms・nuxt.jsとは
    ・ 要素(、 など)の管理
    Nuxt.js ではデフォルトの設定でほとんどの
    ユースケースをカバーしています。
    nuxt.config.js を使ってこの設定を上書きす
    ることができます。

    View Slide

  23. 4.ブログサイトの紹介・苦労したこと

    View Slide

  24. 4.ブログサイトの紹介・苦労したこと
    ブログサイト名・ロゴについて
    サイト名:nu-blog
    自分名前のイニシャルからとりました!
    ロゴのメッセージ:
    ナレッジを蓄積して、どんどんブログを書いて
    自分のサイトに公開して情報をシェアしたいと
    いうメッセージが込められております!

    View Slide

  25. 4.ブログサイトの紹介・苦労したこと
    トップページ
    トップページの仕様
    メインバナー最大3枚設置
    全カテゴリのブログを表示しておりま
    す。

    View Slide

  26. 4.ブログサイトの紹介・苦労したこと
    記事一覧・詳細ページ
    記事一覧ページの仕様
    プログラミング・ビジネス・テクノロ
    ジー・ライフ・インフォメーションの5カ
    テゴリのブログ記事を公開していま
    す。

    View Slide

  27. 4.ブログサイトの紹介・苦労したこと
    お問い合わせページ
    お問い合わせページの仕様
    お問い合わせページにフォームを投
    稿し送信すると、
    micro cms側で投稿確認ができるよう
    になります。

    View Slide

  28. 4.ブログサイトの紹介・苦労したこと
    一番苦労したのは「お問い合わせページ」で試行錯誤して10日かかりました。

    View Slide

  29. 4.ブログサイトの紹介・苦労したこと
    苦労した理由
    ・お問い合わせはaxiosのajaxを実装して入力したデータをPOST送信する処理をしてお
    り、ajaxはいつもjQueryでの実装が慣れていたため、axiosでの実装は慣れてなかった
    ので時間がかかった。
    ・click・submitイベントの処理が全然異なっていたため、チュートリアルを見ながら実装し
    ていた。
    ・スクリプトで実装していたため、動作検証はクロム検証ツール + console.logで随時確
    認していて動作検証するのに時間がかかった。

    View Slide

  30. 4.ブログサイトの紹介・苦労したこと
    そして色々と試行錯誤して、5月5日にデプロイしました!

    View Slide

  31. 5.今後の活動・まとめ

    View Slide

  32. 5.今後の活動・まとめ
    今後の予定
    ・周に1回~2回ブログを更新、LPを作成して展開したい。
    ・アンケート機能を追加する
    ・next.js + micro cmsで実装して比較検証してみたい
    ・netlifyでデプロイしたい。
    まとめ
    ・micro cmsは自由にフロント構築ができて、部分的にCMS化できるので改修の費用が
    かからずエンジニアからしたらありがたい。
    ・nuxt.jsは最初は難しいという印象だったけど、慣れると作業が楽になる。
    ・諦めずに構築して自分に自信がついた。

    View Slide

  33. Thank You !!

    View Slide