誰かが「Vue.jsでSPAを作るならNuxt.js使った方がいい。便利すぎてもう戻れない」ってツイートしてたんですが、使ってみて納得しました。
Udemyの講座で学習した範囲ですが、めちゃくちゃ楽でした。
総合情報サイトのcoreda!(コレダ!…
【教育・学習】資格・学習
総合情報サイト「コレダ!」がお届けする教育・学習における資格・学習の総合情報サイトです。
Vue-CLIを使用して色々やっていたのが一気にショートカットされていて、スピーディに開発するなら確かに便利。
ただ、個人的な感想としては、使用するならVue.jsの基本的なお作法を覚えて、Vue-CLIを使用してからの方がいいかと。
あまりに便利なので、細かい仕組みも分からずに何となく扱えてしまいそうです。
今回は学習のためだったので、趣味のサイトを作成してみました。
Nuxt.js×microCMS×Netlifyを使用した、憧れのJAMStackです(笑)
ただ本で学習していた時は全然意味わかりませんでしたが、とりあえず手を動かしながら詰まったところを解決していったらできていた感じです。
間違っているところも足りないところも多々あると思いますが、ひとまず触ってみて気になった箇所をメモ。
目次
使用プラグインや静的ファイル、ビルド時などの細かい設定を一元化
Nuxt.jsに限ったことではないけど、nuxt.config.jsに使用プラグインや静的ファイル、ビルド時などの細かい設定を一元化できるので管理がとてもしやすい。
ただ今までのheadタグ内に気軽に書き込んでいた外部ファイルのcdnだったり、cssやjsの設定もいちいちnuxt.config.jsで書かないといけないのが面倒っちゃ面倒。
でも、これも慣れの問題っぽい。お作法さえ覚えればこちらの方が良さげ。
ルーティング、コンポーネントを自動で読み込みしてくれる。
Vue-CLIではルーティング書いて、コンポーネント作って登録させないといけないのが面倒くさかったんですが、Nuxt.jsでは必要なモジュールがデフォルトでインストールされているので自動で読み込みしてくれます。めちゃくちゃ楽。
Nuxt.jsは「pages」配下にvueファイルを置くだけで勝手にrouterを設定してくれるし、コンポーネントも「Components」配下にvueファイル置くだけでインポートせずに自由に呼び出し可能。
例えば、「pages」配下に「hoge.vue」を置くと、簡単に 「/hoge.html」が表示できる
コンポーネントに関しては、Nuxt.jsのv2.8以降の仕様っぽいので注意は必要ですが、それでもめちゃくちゃ便利。
asyncDataメソッドが便利。
axiosでAPIを使用した際にCORSエラーで使用できなかったものがあって、色々と記事読んで試してみたのだけど全然解消されず3日くらい溶かしてしまった。
けど、Nuxt.jsで用意されているasyncDataメソッドでは問題なくデータの取得ができました。(あの3日はマジ何だったんだ…)どうやらよしなにやってくれるっぽい。
ただ子コンポーネントでは使えないので、その際は親コンポーネントでAPI呼び出して取得してpropsでコンポーネントにデータを渡す必要があるっぽい。
詰まったところ
バージョンによってコンポーネントを自動で読み込んでくれない
上でも書きましたが、コンポーネントの自動読み込みに関してはNuxt.jsのv2.8以降の仕様らしいので、それ以前のバージョンではページで使用するコンポーネントをインポートする、もしくはモジュールをインストールする必要があります。
学習用のサンプルファイルが単元ごとにバージョン違っていたので、気づかず結構詰まりました。
Nuxt.jsに限ったことではないですが、各バージョンごとの使える機能については注意が必要です。
Vue.jsでwindowオブジェクトのリサイズイベントを実行する
createdなどで実行すると、windowオブジェクトがundefinedとなってしまいます。ですので、リサイズイベントの実行はmounted以降にするように気をつけます。
DesignSupply. LLC Corporate Webs…
Vue.jsでwindowオブジェクトのリサイズイベントでの処理を実行する | 大阪市天王寺区ホームページ制作 | 合…
Vue.jsのプロジェクトにて、リサイズイベントで何かの処理を実行したいときに使える方法のメモです。Vue.jsはその特性上、windowオブジェクトを使う場合には注意するポイン…
ビルドしたファイルが表示されず無限グルグルする
npm run generateで書き出したファイルが動かないじゃんってなったけど、ライブサーバー立ち上げてアクセスしたら問題なく表示されました。
ここらへんは要調査。
Qiita
Nuxt.jsで作ったSPAをFirebaseにデプロイしたら無限クルクルになった – Qiita
背景
Nuxt.jsでSPAを開発し、Firebase Hostingにデプロイするつもりだった。
いざデプロイしてワクワクしながらアクセスしてみると、下のスクショのように真っ白の画面…
総合情報サイトのcoreda!(コレダ!…
【教育・学習】資格・学習
総合情報サイト「コレダ!」がお届けする教育・学習における資格・学習の総合情報サイトです。
SPA、SSR、SSGの違いと理解
今回学習するまではVue.jsなどで作るものは全部SPAと思っていたんですが(笑)実はそれぞれ SPA、SSR、SSGと違いがあることを知りました。
各タイプの違いをざっくりとしか把握できてないけど、大まかな流れを掴むことが出来たので良かったです。
参考記事まとめ
コードライク
nuxtで画面遷移時のパラメータ受け渡し(params, query)
nuxtで画面遷移を試してみました。QueryパラメータとURLパラメータについて書いています。nuxtで画面遷移するときのパラメータ渡しnuxtで画面遷移する時には、URLに /test?…
Qiita
Nuxt.jsで作ったSPAをFirebaseにデプロイしたら無限クルクルになった – Qiita
背景
Nuxt.jsでSPAを開発し、Firebase Hostingにデプロイするつもりだった。
いざデプロイしてワクワクしながらアクセスしてみると、下のスクショのように真っ白の画面…
teratail[テラテイル]
Nuxt.js jsファイル読み込み
### 前提・実現したいこと
nuxt.jsで自分で作ったjsファイルの読み込む
### 試したこと
nuxt.config.js に
script: [
Kumanote Tech Blog
AOSをNuxtJSのサイトに導入する
合同会社kumanoteのエンジニアブログです。開発に役立つ情報を発信しています。
Qiita
Nuxt.jsで`window is not defined` または `document is not defined`になったときの対処法 – Qiita
公式ドキュメントにある通りにやれば問題ないんですが、どうやればいいのかいまいち具体的にピンとこなかったので書き残しておきます。
(particles.jsを使うのにめっちゃ…
Qiita
Nuxt.jsチートシート – Qiita
関連:
– Vue.jsチートシート(基礎編)
– Vue.jsチートシート(コンポーネントと構成編)
Vueチートシートに引き続き公式チュートリアルの抜粋です。
参照
Nuxt.js日本語…
DesignSupply. LLC Corporate Webs…
Vue.jsでwindowオブジェクトのリサイズイベントでの処理を実行する | 大阪市天王寺区ホームページ制作 | 合…
Vue.jsのプロジェクトにて、リサイズイベントで何かの処理を実行したいときに使える方法のメモです。Vue.jsはその特性上、windowオブジェクトを使う場合には注意するポイン…
Qiita
Nuxt.jsの学習(インストールからビルドまで) – Qiita
はじめに
Nuxt.js(とVue.js)を使ってサイトを作る、を学習しました。
Nuxt.js初心者が、インストールからビルド、サーバーにアップするまでにしたこととその流れをま…
mktia's note
【Nuxt.js】buildとgenerateの違い
ひよこエンジニア / Python / JavaScript / Blockchain
Qiita
Nuxt.js2.15.8をインストールした時に生じる脆弱性とビルド時のエラーを力技で修正する – Qiita
はじめに
Nuxt.jsの学習を始めてみよう!と思ったところ、環境構築でエラーに遭遇したのでその対策をまとめてみました。
開発環境
Apple M1
Docker
20.10.8
Doc…
bagelee(ベーグリー)
Netlifyとは? 〜概要から導入まで〜 – bagelee(ベーグリー)
Netlifyは、静的サイトをホスティングすることができるWebサービスです。 WordPress等の動的な処理のいらないLPなどの静的なWebサイトであればNetlifyを通じて公開すること…
Qiita
Nuxt.jsの概要 – Qiita
Nuxt.jsについて概要を調査しました。
その前に、SSRとは?
サーバー側でJavaScriptを使って、HTMLを生成する。
そのため、CSRと比べて、ユーザー側でHTMLを生成する待…
microCMSブログ
Nuxt×microCMS×Netlifyでポートフォリオを作ってみよう
Nuxt.js×microCMS×Netlifyでポートフォリオを作成してJamstackデビューしてみましょう。
eureka
microCMSとNuxt.jsでaxiosを使用したAPI取得まで
ヘッドレスCMSのお勉強でmicroCMSを触っているのですが、参考記事を見てハマったとこがあったので覚書…
あわせて読みたい
【Netlify】静的なウェブサイトを無料で公開する方法をまとめ! | Inno-Tech-Life
自作したウェブサイト(静的サイト)をインターネット上に無料で公開する方法をお探しでしょうか?静的ホスティングサービスを利用すれば実現できます。 本記事を見れば、静…