Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Nuxt.js + Firebase
Search
jacoyutorius
February 14, 2018
Technology
0
240
Nuxt.js + Firebase
Hamamatsu.rb #83にて、Nuxt.jsについて簡単に紹介したLT資料。
jacoyutorius
February 14, 2018
Tweet
Share
More Decks by jacoyutorius
See All by jacoyutorius
オープンデータとAWSで作っている 浜松市イベントカレンダー
jacoyutorius
0
200
浜松市オープンデータを使ってイベントカレンダーアプリを作りました
jacoyutorius
0
57
Amplifyアプリを 任意のタイミングでデプロイするぞ!
jacoyutorius
1
260
AWS Amplify で翻訳アプリを作った話とAmplifyからカジュアルにCloudWatchLogsにログを送る方法について
jacoyutorius
1
1.1k
AWS App Runner + copilot cli
jacoyutorius
1
950
AWS App Runner + Copilot CLI
jacoyutorius
0
40
covid19対策サイトを通してコミュニティとシビックテックのあり方について思うこと
jacoyutorius
0
300
Getting Started Amazon Location Service with Vue.js
jacoyutorius
0
110
ゾンビ化した Webサービスを 生き返らせる
jacoyutorius
0
330
Other Decks in Technology
See All in Technology
コードを書く隙間を見つけて生きていく技術/Findy 思考の現在地
fujiwara3
27
5.8k
JAWS-UG Bedrock Claude Night
yamahiro
3
540
プロデザ! BY リクルート vol.18_リクルートのリサーチ実践組織「リサーチブーストコミュニティ」
recruitengineers
PRO
3
270
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
3
230
ここが嬉しいABAC ここが辛いよABAC #再解説+補足編
masahirokawahara
1
270
Cracking the KubeCon CfP
inductor
2
230
ServiceNow Knowledge Learning Rise up
manarobot
0
200
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
2k
本当のAWS基礎
toru_kubota
0
500
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
120
Janus
bkuhlmann
1
490
MLOpsの「壁」を乗り越える、LINEヤフーの Data Quality as Code
lycorptech_jp
PRO
5
430
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
RailsConf 2023
tenderlove
4
540
In The Pink: A Labor of Love
frogandcode
138
21k
Automating Front-end Workflow
addyosmani
1356
200k
Building a Modern Day E-commerce SEO Strategy
aleyda
17
6.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
648
58k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
19
1.7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
Fantastic passwords and where to find them - at NoRuKo
philnash
37
2.5k
The Power of CSS Pseudo Elements
geoffreycrofte
60
5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
21
1.6k
Transcript
Nuxt.js + Firebase Hamamatsu.rb @jacoyutorius
yuto ogi @jacoyutorius { language: [“ruby”, “javascript”], interested_in: [ “alexa
skills”, “vuex” ] }
Nuxt.js + Firebase ؒʹ߹Θͳ͔ͬͨ
࡞ͬͨͷ IUUQpSFLQUZVUPPHJDPN
Firekpt w7VFKT/VYUKT w ࠓओʹ͢͜ͱ w7VFY w ҰԠࠓ͢͜ͱ w'JSFCBTF w 'JSFCBTFͷ3FBMUJNF%BUBCBTFΛ
͍ͬͯΔͷͰɺଞϢʔβʔͷೖྗ༰ ͕ϦΞϧλΠϜʹө͞ΕΔ w#VMNB w 6* w Ϩεϙϯγϒ
Stack w7VFKT/VYUKT w ࠓओʹ͢͜ͱ w7VFY w ҰԠࠓ͢͜ͱ w'JSFCBTF w 'JSFCBTFͷ3FBMUJNF%BUBCBTFΛ͍ͬͯΔͷͰɺ
ଞϢʔβʔͷೖྗ༰͕ϦΞϧλΠϜʹө͞ΕΔ w#VMNB w 6* w Ϩεϙϯγϒ
– Nuxt.js ͡Ίʹ (https:/ /ja.nuxtjs.org/guide/) “201610݄25 zeit.co ͷνʔϜ͕ React ΞϓϦέʔγϣϯΛαʔόʔαΠυϨϯμϦϯά͢Δ
ͨΊͷϑϨʔϜϫʔΫ Next.js Λൃද͠·ͨ͠ɻͦͯͦ͠ͷൃද͔ΒΘ͔ͣ࣌ؒޙɺNext.js ͱ ಉ͡ΓํͰɺ͔͠͠ࠓ Vue.js ΛαʔόʔαΠυϨϯμϦϯά͢ΔΞϓϦέʔγϣϯΛߏங͢ ΔΞΠσΟΞ͕ੜ·Ε·ͨ͠ɻ͢ͳΘͪ Nuxt.js ͷੜͰ͢ɻ”
Nuxt.js w 7VFKT༻ͷαʔόʔαΠυϨϯμϦϯά 443 ༻ϑϨʔϜϫʔΫ w 443ඞਢͰͳ͘ɺΦϓγϣϯʹΑͬͯ41"ͷߏஙՄೳ w ࠓճ࡞ͬͨΞϓϦέʔγϣϯͰ443͍ͯ͠ͳ͍
Nuxt.js w 7VFKT7VF3PVUFS7VFY8FCQBDL#BCFM͕ΈࠐΈࡁ Έ w ໘ͳઃఆ͕ෆཁ w lWVFJOJUz͔ΒఔͰॳظը໘͕ىಈ͢Δ w ॳΊͯSBJMT৮ͬͨͱ͖ͷخ͠Έ
w ։ൃ༻αʔόʔϗοτϦϩʔσΟϯάػೳ͖ w &4ελΠϧͷKTͰίʔσΟϯάΛ࢝ΊΒΕΔ
Nuxt.js w ੩త)5.-ΛੜͰ͖ΔͷͰɺ4(JUIVCQBHFTσϓϩΠͰ͖Δ w )FSPLVͱ͔ʹσϓϩΠͰ͖Δ
$ vue init nuxt-community/starter-template my-first-nuxt-app $ cd my-first-nuxt-app $ yarn
install $ yarn dev initialize
$ tree ~/Work/nuxt/my-first-nuxtjs-app -L 2 ᵓᴷᴷ README.md ᵓᴷᴷ assets ᴹ
ᵋᴷᴷ README.md ᵓᴷᴷ components ᴹ ᵓᴷᴷ AppLogo.vue ᴹ ᵋᴷᴷ README.md ᵓᴷᴷ layouts ᴹ ᵓᴷᴷ README.md ᴹ ᵋᴷᴷ default.vue ᵓᴷᴷ middleware ᴹ ᵋᴷᴷ README.md ᵓᴷᴷ nuxt.config.js ᵓᴷᴷ package.json ᵓᴷᴷ pages ᴹ ᵓᴷᴷ README.md ᴹ ᵋᴷᴷ index.vue ᵓᴷᴷ plugins ᴹ ᵋᴷᴷ README.md ᵓᴷᴷ static ᴹ ᵓᴷᴷ README.md ᴹ ᵋᴷᴷ favicon.ico ᵋᴷᴷ store ᵋᴷᴷ README.md w TUBSUFSUFNQMBUFΛ͏ͱ࠷ݶͷઃఆϑΝΠ ϧͱσΟϨΫτϦ͕ੜ͞ΕΔ w Ͳ͜ʹԿΛஔ͖͔ܾ͘Ίͯ͘Ε͍ͯΔͷҙ֎ ͱॿ͔Δ w ͋ͪͪ͜ʹ3&"%.&͕͋Δͷअຐ͚ͩͲɺ ͦͷσΟϨΫτϦͷ༻్͕ॻ͍ͯ͋Δ w WVFSPVUFS͕ઃఆࡁΈͳͷͰɺQBHFTԼʹ σΟϨΫτϦϑΝΠϧΛஔ͚ͩ͘ͰϧʔςΟϯά ͕ఆٛ͞ΕΔ
Vuex w 7VFKT༻ͷঢ়ଶཧύλʔϯ ϥΠϒϥϦ w 'MVY3FEVY͔ΒӨڹΛड͚͍ͯΔ w ݫີʹ'MVYͱҧ͏ͬΆ͍ w ʰ7VFKT.77.Ͱ͋Δʱʰ'MVY.77.Ͱͳ͍ʱʰ7VFKT'MVYͰͳ͍ʱతͳɻ
͍͔ͭʰ͓લͷ'MVYਅͷ'MVY͡ΌͶ͐ʱతͳهࣄ͕ग़͖ͯͦ͏ w ΞʔΩςΫνϟͷ͋Δ͖ͱΓ͋͑ͣஔ͍͓͍ͯͯɺϑϨʔϜϫʔΫ͕ ਪ͢Δઃܭʹͬͯίʔυ͕៉ྷʹ࣮Ͱ͖ΕͦΕͰྑ͍ͷͰͱ͍͏ ํ
w l4UBUFzάϩʔόϧͳσʔλετΞ w σʔλͷঢ়ଶΛཧ͢Δz4UBUFz͕͋Γɺ ঢ়ଶΛมߋ͢Δૢ࡞Λ͢Δz"DUJPOTz z.VUBUJPOTzɺ7VF$PNQPOFOUT "DUJPO.VUBUJPOΛݺͼग़͢͜ͱͰ ঢ়ଶͷૢ࡞Λ͢Δ w ˞ωοτͰݟ͔͚ΔαϯϓϧίʔυͰɺ
.VUBUJPOTΛͬ͢ඈͯ͠"DUJPOT͔Β4UBUFΛ มߋ͍ͯ͠Δͷ͋Γɺࠞཚͯ͠Δ Vuex
ࡶͳײ w &4ͷॻ͖ํΛ͖ͪΜͱ͍֮͑ͯͳ͍ʢλΠϙͰϋϚΔʣ w 7VFYͲ͏͍͏ઃܭʹ͖͔͍͢͠ ಛʹNVUBUJPOͱBDUJPOͷ͍͚ w ͍ͭͰʹɺBTZODBXBJUͱQSPNJTFʹ͍ͭͯཧղ͢Δඞཁ͋Γ w
JOJU͢Δͱɺॳظϖʔδ QBHFTJOEFYWVF ͕ੜ͞ΕΔͷͰɺ͜ΕΛ͍͡Γͳ͕Βษڧ͢Δͱ͍ ͍ͧɻɻ w ͱΓ͋͑ͣɺQBHFTJOEFYWVFͰΰϦΰϦॻ͍͍ͯͬͯɺ͋ͱ͔ΒDPNQPOFOUʹׂͨ͠Γɺ 7VFYͰσʔλϑϩʔΛ៉ྷʹͨ͠Γ͢Ε͍͍ͱࢥ͏ɻɻɻ w ํσʔλόΠϯσΟϯάʹ׳ΕΔͱ͏ʮ lJEz WBM ʯͱ͔ʹΕͳ͍ w $ISPNF'JSFGPYͷ7VF%FWFMPQQFS5PPMTΛೖΕΔͱͤ w 443ͱ͔Ζ͏ͱ͢Δͱ·ͨপʹϋϚΓͦ͏
DESIGN EVO IUUQTXXXEFTJHOFWPDPN