NuxtMeetup#6 のLTスライドです。 https://nuxt-meetup.connpass.com/event/107759/
maner|EXIFを同時に見ることができる写真ギャラリーサイト https://maner.gallery
Nuxtで写真ギャラリーを作った話 +αNuxtMeetUp#6 @mtmtkzm1 / 38
View Slide
LIVE RELEASING2 / 38
event-streamflatmap-stream3 / 38
event-streamflatmap-streamnpm ls event-stream flatmap-streamを実行して、└─(empty)と出力されれば依存なし!4 / 38
5 / 38
6 / 38
7 / 38
8 / 38
そう、彼が LIG の 凄腕ディレクター 北川パーヤン です。9 / 38
LIGも彼も、何も悪さはしてません10 / 38
松本 和馬 / ライダー株式会社LIG Web事業部フロントエンドエンジニアhttps://mtmtkzm.com (Nuxt 製!)93年生 / 25才はじめまして、ライダーです11 / 38
はじめまして、ライダーですNuxt/Docsのタイポや冠詞抜けを修正していたら、12 / 38
はじめまして、ライダーですNuxt/Docsのタイポや冠詞抜けを修正していたら、13 / 38
Nuxtで写真ギャラリーを作った話14 / 38
15 / 38
動機技術の勉強の実験場としてエンジニアとして「顔」がほしかった写真に興味があった(= 欲しいものだった)16 / 38
SSR(サーバサイドレンダリング)写真詳細ページのルーティング /_id/Flickr API 経由で人気写真を取得し、一覧人気写真のIDを返すAPIがある写真に紐づくEXIFを取得し、一覧IDに紐づいたEXIFを返すAPIがあるEXIFの値によってフィルタリングしたり...17 / 38
18 / 38
serverMiddleware便利かも!19 / 38
serverMiddleware便利かも!Nuxt に API(/api/)を作成したそれ用のサーバいらない環境変数とか使いまわせるBFFとして扱えるmodule.exports = {serverMiddleware: ['~~/api/'],20 / 38
ディレクトリを分割した!/api/を作ったついでに、21 / 38
ディレクトリを分割した!/api/を作ったついでに、module.exports = {srcDir: 'client/',.├── README.md├── api├── client├── node_modules├── nuxt.config.js├── package-lock.json├── package.json└── server22 / 38
ディレクトリを分割した!/api/を作ったついでに、module.exports = {srcDir: 'client/',.├── README.md├── api さっきの serverMiddleware├── client 等が入る├── node_modules├── nuxt.config.js├── package-lock.json├── package.json└── server23 / 38
stateはfunctionを返しましょうストアを有効にするサーバーサイドで不要な共有状態を避けるため、state の値は常に function でなければなりません。24 / 38
stateはfunctionを返しましょうストアを有効にするサーバーサイドで不要な共有状態を避けるため、state の値は常に function でなければなりません。const state = { ... }↓const state = () => {return { ... }}25 / 38
Herokuへデプロイ26 / 38
Herokuへデプロイ27 / 38
OK,全部やったぜ28 / 38
君だけを残して...29 / 38
git push heroku master30 / 38
というわけで、31 / 38
LIVE RELEASING32 / 38
LIVE RELEASING 33 / 38
LIVE RELEASING 34 / 38
35 / 38
maner.gallery36 / 38
\ ありがとうございました /無事,リリース出来たのかな...NuxtMeetUp#6 @mtmtkzm37 / 38
もしよければ我が子 manerをシェアお願いしますmaner.gallery38 / 38