LoginSignup
4
7

More than 3 years have passed since last update.

GatsbyJSの魅力を知った...

Posted at

こんにちは(๑╹ω╹๑ )

実は私...

恥ずかしながら.....

つい数ヶ月までJavascriptと言えば

  • Javascript(jQuery補助程度
  • jQuery(長いこと書いていた
  • Node.js(ほんの少々
  • Vue.js(数年前に入門一周した程度

でした😇

根っからのバックエンドエンジニアで、
LAMP構成大好きでした🥺

でもでもでもでも!!

早く技術スタック見直さないと!

特にJavascript😭

という訳で2ヶ月ほどPHP書くのをお休みしてました!

// 😪
sleep(60 * 60 * 24 * 60);

代わりにReact始めました🤝

(技術スタックが少しモダンになった気がします🙌

今では「LAMP構成愛してた?よ😘」と言わんばかりの浮気?心移り?

分かんないですが魅了されています😍

React

尊いです😌

バインディング is 神!🧝‍♂️

実際にバインディングは内部で実装されていると思うのですが、

C言語のポインタ?🤔

PHPで言うとリファレンス渡し?🤔

そんな気分です🎉

GatsbyJS

地球は青かった?(๑╹ω╹๑ )

いえいえ😅

GatsbyJSは爆速だった🙌

実は以前からGatsbyJSで実装されている爆速SPAがとても魅力的で仕方有りませんでした😊

※GatsbyJSを始めてまだ数日程なので、誤った認識があるかもしれないです🙏

GatsbyJSの特徴

わくわくしながらLighthouseやGTmetrixで計測できる!

画面サイズ毎に画像を書き出している

ビルド後のファイル群を直接触ることはないですが、

GatsbyJSビルド後ファイル構成

画面幅毎に最適化されたサイズの画像を書き出していました!

GatsbyJSビルド後iconsディレクトリ.png

Data URLスキームの画像も書き出している

深い仕様までは分かっていないのですが、
画像によってはData URLスキームなインラインで出力されている画像も多く見受けられました!

基本的にMinify

ビルド後に出力されたindex.htmlファイルを見ると確認できるのですが、
基本的には何もかもMinifyされていました😮

  • CSSはstyleタグを用いたインライン化
  • Javascriptは別ファイルでMify化

凄いです!!!!

gatsby-config.js

Non WebPack構成でもビルド出来る!🎉

GatsbyJSの設定ファイル(gatsby-config.js)であんなこと?やこんなこと?が出来ます😌

他にも!

gatsby-plugin-alias-importsというプラグイン重宝しています!

{
    resolve: `gatsby-plugin-alias-imports`,
    options: {
        alias: {
            '@components': 'src/components',
            '@images': 'src/images',
            '@styles': 'src/styles',
            '@stores': 'src/stores',
        },
        extensions: ['js'],
    },
},

上記のような設定のみで、

import main from "../../../src/components/main/";

のような記述も、

import main from "@components/main/";

のように実装できます!

※ gatsby-config.jsファイルからの相対パスを予めエイリアス登録出来る

まとめ

JAMstack構成でもっとReactやGatsbyJSを触ってみます🤗

4
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
7