Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Next.js・microCMSで ポートフォリオサイトを作りかえて学んだこと
Search
Azusa Okamoto
March 24, 2022
Programming
0
2k
Next.js・microCMSで ポートフォリオサイトを作りかえて学んだこと
2022年3月24日
ジャムジャム!!Jamstack_6【初心者歓迎LT会】登壇資料
Azusa Okamoto
March 24, 2022
Tweet
Share
More Decks by Azusa Okamoto
See All by Azusa Okamoto
Go初心者が開発やってみた!
azunyan
1
490
デブサミウーマン2023 アウトプットって何が良いの?
azunyan
0
950
TECH WOMAN KANSAIオンラインもくもく会の流れ
azunyan
0
47
個人的に楽しかった実装2022
azunyan
0
95
TestCaféでE2Eテスト!
azunyan
0
110
vanilla-extractを使ってみた!with React
azunyan
1
730
VisualStudioCodeの拡張機能を作ってみた!
azunyan
0
38
Other Decks in Programming
See All in Programming
CSC305 Lecture 23
javiergs
PRO
0
110
As an Engineers, let's build the CRM system via LINE Official Account 2.0
clonn
1
620
tidymodelsによるtidyな生存時間解析 / Japan.R2024
dropout009
0
210
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
3.3k
イマのCSSでできる インタラクション最前線 + CSS最新情報
clockmaker
5
3.8k
Serverless苦闘史
mosh_inc
0
140
Djangoの開発環境で工夫したこと - pre-commit / DevContainer
hiroki_yod
1
610
[KR] Open-Source Ecosystems
skydoves
0
110
Gestaltung digitaler Lösungen – Produktions- oder Designprozess?
techstories
0
120
TypeScriptでライブラリとの依存を限定的にする方法
tutinoko
3
840
急成長期の品質とスピードを両立するフロントエンド技術基盤
soarteclab
0
560
新規学習のハードルを下げる方法とは?/ How to Make Learning Something New Easier?
nobuoooo
1
130
Featured
See All Featured
Docker and Python
trallard
40
3.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.8k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
480
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
How to Ace a Technical Interview
jacobian
276
23k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
YesSQL, Process and Tooling at Scale
rocio
169
14k
How GitHub (no longer) Works
holman
310
140k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Transcript
Next.js・microCMSで ポートフォリオサイトを作りかえて学んだこと ジャムジャム!!Jamstack_6【初心者歓迎LT会】 岡本梓沙 Next.js 初心者が! @azunyan_eng
自己紹介
自己紹介 2020年10月 2021年10月 現在 V 業務システム保守(React・TypeScript& V WEBアプリケーション開発(Vue.js・TypeScript& V ECサイトの開発・保守
etc... 2年目!
今日お話しすること
今日お話しすること 1. 作ったもの 2. Next.jsとは? 3. 学んだこと 4. 感想 5.
参考資料
1. 作ったもの 2. Next.jsとは? 3. 学んだこと 4. 感想 5. 参考資料
作ったもの、ちょっとお見せします。
1. 作ったもの 3. 学んだこと 4. 感想 5. 参考資料 2. Next.jsとは?
Next.jsとは? c ReactベースのフレームワークA c HTMLの生成方法が3種類A c HTMLの生成方法はページごとに選択できるA c pagesディレクトリ内にファイルを配置すると、そのファイル 名でアクセスできる!
リクエスト受取時 サーバ側 SSR (Server Side Rendering) サーバ側 ビルド時 SSG (Static
Site Generation) クライアント側 リクエスト受取時 CSR (Client Side Rendering) いつ? どこで?
1. 作ったもの 2. Next.jsとは? 4. 感想 5. 参考資料 3. 学んだこと
①どうやってデータを取ってくる? ②環境変数の書き方が2種類!? ③Google Fontsを適用したい!
1. 作ったもの 2. Next.jsとは? ②環境変数の書き方が2種類!? ③Google Fontsを適用したい! 4. 感想
5. 参考資料 3. 学んだこと ①どうやってデータを取ってくる?
getStaticProps関数を利用! SSGにおいて、外部からデータを取ってくる時に 利用する関数。 ①どうやってデータを取ってくる?
export await return = () => { = . ({
}); { : { } } } const const getStaticProps get async data client ENDPOINT_ARTICLES data endpoint: process env props articles: contents . . .
1. 作ったもの 2. Next.jsとは? ①どうやってデータを取ってくる? ③Google Fontsを適用したい! 4. 感想
5. 参考資料 3. 学んだこと ②環境変数の書き方が2種類!?
②環境変数の書き方が2種類!? 環境変数の書き方を間違えていた。 環境変数の書き方が2種類あった!
②環境変数の書き方が2種類!? REACT_APP_API_KEY REACT_APP_URL ・サーバ側で利用 ・クライアント側で利用 API_KEY NEXT_PUBLIC_URL
1. 作ったもの 2. Next.jsとは? ①どうやってデータを取ってくる? ②環境変数の書き方が2種類!? 4. 感想 5.
参考資料 3. 学んだこと ③Google Fontsを適用したい!
③Google Fontsを適用したい! index.htmlもないし、いつものheadタグってどこ...?? どこに<link>タグを書いたら良いのかわからん...!!
③Google Fontsを適用したい! Custom `Document`を利用t f <html>タグや<body>タグに変更を加えることができるr f クライアント側で動く処理を書くことはできない。
) } Document; export default < > < > <
= = /> < = = /> < = = /> </ > < > < /> < /> </ > </ > Html Head link link link Head body Main NextScript body Html rel href rel href crossOrigin href rel "preconnect" "https:/ /fonts.googleapis.com" "preconnect" "https:/ /fonts.gstatic.com" "https:/ /fonts.googleapis.com/css2?family=Forum&family=Noto+Serif+JP:wght@200&display=swap" "stylesheet" import from const return { Html, Head, Main, NextScript } Document = () => { ( 'next/document' pages/_document.js
1. 作ったもの 2. Next.jsとは? 3. 学んだこと 5. 参考資料 4. 感想
感想 " ページ遷移を手軽に設定できた " CSS Modulesがデフォルトで利用できる!(個人的な好み " ドキュメントやチュートリアルがわかりやすくて助かった!
1. 作ったもの 2. Next.jsとは? 3. 学んだこと 4. 感想 5. 参考資料
参考資料 Next.js 公式ドキュメント microCMS + Next.jsでJamstackブログを作ってみよう WEB+DB PRESS vol.123 p.43~p.73
ご清聴ありがとうございました!