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
大規模は開発環境保守が大変なので改善する / ng-kyoto Angular Meetup 8
Search
OKUNOKENTARO
October 06, 2018
Technology
3
730
大規模は開発環境保守が大変なので改善する / ng-kyoto Angular Meetup 8
ng-kyoto Angular Meetup 8にて発表した資料です。
OKUNOKENTARO
October 06, 2018
Tweet
Share
More Decks by OKUNOKENTARO
See All by OKUNOKENTARO
トレタO/X アーキテクチャ移行記 Next.js App Router化への道のり / TORETA TECH UPDATE 1
okunokentaro
5
11k
Podcastを継続する技術 / refactoradio-240119
okunokentaro
1
190
Webアプリケーション設計の第一歩は ディレクトリの整理から / Encraft 1
okunokentaro
34
10k
JSONとJSON Schemaを改めて理解する / tokyo_study
okunokentaro
9
2.4k
それでもどうしてRecoilを使うのか / Harajuku.ts Meetup Recoil
okunokentaro
19
5.6k
TypeScriptは10年でこんなに進化しました / TechFeed Experts Night 11
okunokentaro
6
1.8k
Hasura.io RDBをサクサク作る方法はARやO/RMだけじゃなくなりました/hasura-io
okunokentaro
5
690
コードには型アノテーションよりも要件アノテーションを増やせ!/harajukuts2
okunokentaro
14
6.4k
10年と3ヶ月でWebサービスを作った話 / Piyogrammer Conference 2021
okunokentaro
2
1.1k
Other Decks in Technology
See All in Technology
ハノーファーメッセ2025で見た生成AI活用ユースケース.pdf
hamadakoji
0
130
OCIjp_Oracle AI World_Recap
shinpy
1
120
いまからでも遅くない!SSL/TLS証明書超入門(It's not too late to start! SSL/TLS Certificates: The Absolute Beginner's Guide)
norimuraz
0
290
AI Agent Dojo #2 watsonx Orchestrateフローの作成
oniak3ibm
PRO
0
140
NLPコロキウム20251022_超効率化への挑戦: LLM 1bit量子化のロードマップ
yumaichikawa
1
110
Railsの話をしよう
yahonda
0
170
OSSで50の競合と戦うためにやったこと
yamadashy
3
540
コンテキストエンジニアリング入門〜AI Coding Agent作りで学ぶ文脈設計〜
kworkdev
PRO
3
2k
LLMプロダクトの信頼性を上げるには?LLM Observabilityによる、対話型音声AIアプリケーションの安定運用
ivry_presentationmaterials
0
700
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
12
81k
Performance Insights 廃止から Database Insights 利用へ/transition-from-performance-insights-to-database-insights
emiki
0
340
フレームワークを意識させないワークショップづくり
keigosuda
0
220
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
Six Lessons from altMBA
skipperchong
29
4k
The Pragmatic Product Professional
lauravandoore
36
7k
Writing Fast Ruby
sferik
629
62k
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
The Language of Interfaces
destraynor
162
25k
Code Review Best Practice
trishagee
72
19k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
What's in a price? How to price your products and services
michaelherold
246
12k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Transcript
େن։ൃڥอक͕ େมͳͷͰվળ͢Δ 0DU OHLZPUP"OHVMBS.FFUVQ !PLVOPLFOUBSP
୭ w Ԟݡଠ!PLVOPLFOUBSP w ΫϨεΣΞද w "OHVMBSຊϢʔβʔձ OHLZPUP
ԿΛ͢Δਓ w େنܥҊ݅ͷ։ൃ ʢສʙສߦͷΞϓϦέʔγϣϯઃܭ͔Β࣮ʣ w ίʔ υ ϨϏϡʔઃܭͷίϯαϧλϯ τ
w ΧϯϑΝϨϯεͰͷొஃɺ ߨԋ w ٕज़ຊΦϯϥΠϯϚΨδϯͰͷࣥච w 8FC.VTJDٕज़Λ༻͍ͨ։ൃ
ϓϩδΣΫ τ͕େنʹͳΔͱ ͲΜͳ͕ى͜Δ͔
εέʔϧͤ͞Δ w খنˠதنˠେن w ϓϩδΣΫ τ͕େ͖ ͘ ͳͬͯɺ ҆ఆͯ͠։ൃνʔϜӡӦ͕Ͱ͖Δ͜ͱ
εέʔϧ͢ΔΞϓϦέʔγϣϯ։ൃ w ΞϓϦέʔγϣϯ ɾ ίʔ υΛεέʔϧͤ͞ΔΑ ͘ग़ͯ͘ Δ w ΞʔΩςΫνϟ͕ʜ
w Ϧ ϑΝΫλ Ϧ ϯά͕ʜ w ίʔ υ ϨϏϡʔ͕ʜ
͜Ε·Ͱͷొஃ
։ൃڥͷεέʔϧޙखʹͳΓ͕ͪ w ςε τϑ ϨʔϜϫʔΫͦͷͷͷۛຯ w ϓϩδΣΫ τॳظͷςε τϑ ϨʔϜϫʔΫΛ
େنʹͳ͔ͬͯΒ͍ଓ͚ΔͷຊʹΑ͍͜ͱͳͷ͔ ʁ w -JOU 'PSNBUUFSͳͲͷࣗಈॲཧͷੋඇ w ͦΕΒ͍࣮ͭߦ͖͔͢ ʁ w ඞཁͳϥΠ ϒϥ Ϧͷੋඇ w ͦͦpackage.jsonʹແବ͕ͳ͍͔ɺ ݟ͍ͯ͠Δ͔
"OHVMBS$-*͔Β֎ΕΔ͜ͱͷڪΕ w "OHVMBS$-*Λ͍ͬͯΔͱ "OHVMBS$-*͕͍͔ͳΔͱ ͖ਖ਼ղͩͱ৴ͯ͠͠· ͏ w ಋೖ࣌ͷํ๏ͱͯ͠"OHVMBS$-*Λ࠾༻͢Δͷద w "OHVMBS$-*ͷग़ྗ࠷େެత
w ͦͷߏ͕ͯ͢ͷϢʔβɺ ͯ͢ͷϓϩδΣΫ τʹৗʹద͔ ࠶ߟͷ༨͕͋Δ
"OHVMBS$-*ͷߏ
"OHVMBS$-*ͷߏ w "OHVMBS$-* w 5ZQF4DSJQU w 54-JOU w ,BSNB +BTNJOF
w 1SPUSBDUPS
࠷৽൛ w ݄࣌ w 5ZQF4DSJQU w 54-JOU w ,BSNB +BTNJOF
w 1SPUSBDUPS
ৗʹ࠷৽ͱ͍͏Θ͚Ͱͳ͍ w "OHVMBS$-*ʹΑͬͯΠϯε τʔϧ͞ΕΔύοέʔδ ৗʹ࠷৽൛ͱ͍͏Θ͚Ͱͳ͍ w 5ZQF4DSJQU"OHVMBSຊମͷґଘ͢Δόʔδϣϯͱͷ߹ੑ͋Γ Πϯε τʔϧ͞ΕΔͷͱ࠷৽ͷόʔδϣϯ͕Ε͍ͯΔ͜ͱ͕ଟ͍
OHVQEBUF w IUUQTHJUIVCDPNBOHVMBSBOHVMBSDMJXJLJVQEBUF w "OHVMBS$-*ʹґଘύοέʔδͷόʔδϣϯΛ্͛ΔͨΊͷίϚϯ υ͕͋Δ • ng update w
͜ΕΛϲ݄ʙͱ์ஔͨ͠Βɺ όʔδϣϯ͕ࠩେ͖ ͘ෆ۩߹ͷՄೳੑ͕ߴ·Δ w ։ൃʹ ʮఆظతͳόʔδϣϯͷ֬ೝͱΞοϓσʔ τ࡞ۀʯ ΛؚΉ͖
ඞͣՃΠϯε τʔϧͨ͠ํ͕Α͍ͷ w 1SFUUJFS w ਓ͕ؒίʔσΟ ϯάελΠϧΛؾʹ͢Δ࣌ऴΘͬͨ w 1SFUUJFSͷࣗಈܗ݁Ռʹৗʹै͏ w
࠷ॳ ʮࣗͷίʔσΟ ϯάελΠϧͱҧ͏ʯ ͱؾʹೖΒͳ͘ ͯ͏ w ϲ݄͢Ε׳Εͯ1SFUUJFSͳ͠ͷڥ͕͍ʹͳΔ
Πϯε τʔϧͯ͠Αͦ͞͏ͳͷ w MJOUTUBHFE IVTLZ w IUUQTQSFUUJFSJPEPDTFOQSFDPNNJUIUNM w ίϛ ο
τ࣌ͷ-JOU 'PSNBUͷڧ੍ w ࢍ൱྆͋Γ
ςε τͷ࠷దԽ
"OHVMBS$-*ͷςε τߏ w IUUQTBOHVMBSKQHVJEFUFTUJOH w ,BSNB +BTNJOF w 5FTU#FE w
ϞοΫͷࢦఆΠϯελϯεͷड͚औΓ w ґଘੑೖ %FQFOEFODZ*OKFDUJPO Λ׆༻ͨ͠ςε τʹ͔ܽͤͳ͍
ςε τϑΝΠϧͷࣗಈੜ w "OHVMBS$-*ςε τϑΝΠϧࣗಈੜ͢Δ wʮςε τΛॻ͔ͳ͘ ͪΌʯ ͱ͍͏ؾ࣋ͪʹͤ͞ΒΕΔ w
ςε τ߲ͷՃ࣌ʹ࠷ॳ͔ΒϑΝΠϧ͕༻ҙ͞Ε͍ͯΕ໘͕͞ݮΔ
ͦͷςε τຊʹඞཁ͔ w ͦͷςε τຊʹඞཁ͔ۛຯ͢͠ w ͦͷDMBTT 4FSWJDF ʹςε τຊʹඞཁ͔
ʁ w 'BDBEFύλʔϯͳͲͰઃܭͨ͠ࡍ ཱͪͱͳΔ4FSWJDFʹ೦ೖΓͳςε τΛॻ͖͔͘ ʁ w calls.count()ͷճݕূʹऴ͍࢝ͯ͠ͳ͍͔ ʁ w ϞοΫͷอक͚ͩͰΉΈʹർฐ͍ͯ͠ͳ͍͔ ʁ
ςε τΛࣺͯΔ༐ؾ wʮςε τΛࣺͯΔʯ ͱ͍͏ ͱෆԺʹฉ͑͜Δ͔͠Εͳ͍ w ۛຯͨ݁͠Ռ w ଞͷՕॴͷ୯ମςε
τͰॲཧ͕ेʹकΒΕ͍ͯΔ w ͜ͷՕॴͷςε τΛΧόϨοδͷͨΊ͚ͩʹ࣮ࢪ͢Δͷෆໟͩ w ςε τ͍߲͕͔ͨ͠Βͳ͍··ɺ ݟΑ ͏ݟ·ͶͰॻ͍͍͍ͯͯͭසൟʹյΕΔ w ͜͏͍ͬͨঢ়͕ى͍ͬͯ͜Δ߹ Ή͠Ζͦͷςε τࣺͯͨ΄͏͕։ൃޮ্͕͕Δ
୯ମςε τͷॲཧ࣌ؒ w ୯ମςε τͷ݅ w ݅ʙे݅Ͱ͋ΕؾʹͳΒͳ͍͔͠Εͳ͍ w ઍ݅Φʔμʔʹͳͬͯ͘ Δͱ
ʮςε τ࣮ߦ࣌ͷແବΛল͍ͯߴԽ͢Δʯ ͱ͍͏؍͕ඞཁ w ςε τ͕೦ೖΓͳͷɺ ͔ͨ͠ʹΑ͍͜ͱͩ wʮͦͷςε τ͋ͳͨͷͲΜͳෆ҆Λղফͤ͞ΔͨΊͷςε τͰ͔͢ ʁ ʯ w ແବͳςε τɺ ͍ͬͦແ͘ ͢͜ͱͰߴԽͤ͞Δ
+FTUͷಋೖ w +FTU w 'BDFCPPLͷςε τϑ ϨʔϜϫʔΫ w IUUQTKFTUKTJPKB w
ߴͳ࣮ߦͱɺ ߴͳ࠶࣮ߦ w ϚϧνίΞΛ׆༻ͨ͠ฒྻ࣮ߦ w εφοϓγϣ ο τςε τ
+BTNJOF͔Β+FTUͷҠߦ w ͱͱ+BTNJOFͰಈ͍͍ͯΔςε τΛ+FTUͰಈ͔͢ʹ w 5FTU#FEΛ͍ͬͯΔՕॴɺ Ұ୴+BTNJOFͷ··ͷํ͕Α͍ ʢ"OHVMBS+BTNJOFΛެࣜʹαϙʔ τ͍ͯ͠ΔͨΊʣ
w ؔͷςε τɺ ґଘੑೖΛΘͳ͍4FSWJDFͷςε τʹ+FTU͕༗༻ w +FTUͷ"1*+BTNJOFͷ"1*ͱ΄΅ޓ͕͋Δ w ϫʔΫΞϥϯ υͱ ͯ͠ .spec.ts+BTNJOF .test.ts+FTUͰಈ͘ Α ͏ʹͨ͠
UTDPOpHKTPOͷվ w "OHVMBS$-*ͷੜ͢Δtsconfig.spec.json͚ͩͰɺ +BTNJOFͱ+FTUͷಉډ͕ࠔ w +BTNJOFͷܕఆٛϑΝΠϧͱ+FTUͷܕఆٛϑΝΠϧ͕ ಉҰείʔϓ্ͰҰ෦ڝ߹͢ΔͨΊ w tsconfig.test.jsonΛෳͯ͠࡞ w
includecompilerOptions.typesͷϓϩύςΟ Λॻ͖͑ͯ +FTUͰར༻Մೳʹ͢Δ w angular.jsonͷMJOUͷઃఆซͤͯमਖ਼͠ͳ͍ͱɺ +FTUଆ͚ͩ-JOU͕ແࢹ͞ΕΔͷͰҙ
"OHVMBS +FTUͷαϯϓϧ w IUUQTHJUIVCDPNMBDPMBDPBOHVMBSKFTUNJOJNBM w "OHVMBSຊϢʔβʔձදͷMBDPʹΑΔαϯϓϧ w 5FTU#FEΛ͍ͬͯͯɺ +FTU্Ͱಈ͘ Α
͏ʹௐ͞Ε͍ͯΔ w ϓϩδΣΫ τ్தͰͳ͚Εɺ ྫΛࢀߟʹ࠷ॳ͔Β+FTUલఏͰߟ͑Δͷख
ςε τ࣮ࢪ͕ඇޮͳͱ͖ w ςε τ͕ઍ݅ʹͳͬͨͱ͖ ʮςε τࣦഊ࣌ͷ࠶࣮ߦʯ ͕ ૾Ҏ্ʹε τ
ϨεͱͳΔ w ςε τΛ࠶࣮ߦ͢Δͨͼʹ8FCQBDLͷϏϧ υͰ΄Ͳͨ͞ΕΔ w ઌʹམͪΔςε τΛॻ͍͔ͯΒಈ࣮͘Λॻ͘ɺ ͱ͍ͬͨΞϓϩʔνΛऔΔ͜ͱ͕ ࠔʹͳΔ w ͦͦςε τΛॻ͘ؾྗ͕ࣦΘΕΔ
+FTUͷ໌Β͔ͳϝ Ϧ ο τ w +FTUΥ ονͱ࠶࣮ߦʹؔ͢Δૢ࡞ੑ͕ͱͯΑ͍ w མͪͨςε τͷΈͷ࠶࣮ߦɺ
ςε τϑΝΠϧͷϑΝΠϧ໊ͰߜΓࠐΜͰͷ ࣮ߦͳͲίϚϯ υ͕๛ w ࠶࣮ߦ͕ඵʙඵͳͷͰςε τϑΝʔε τͳ։ൃࣗࡏ w ͍͜͠ॲཧৗʹςε τΛॻ͖ͳ͕Β࣮Ͱ͖Δͱ͍͏҆৺ײ͕͋Δ
&&ςε τͷੋඇ
&&ςε τ w &OEUPFOE5FTU w ࣮ࡍͷΞϓϦέʔγϣϯΛىಈ͠ ෳͷϢʔεέʔε ʢཁ݅ʣ ΛΈ߹ΘͤͨγφϦΦʹԊͬͯࣗಈૢ࡞ w
ͦͷ݁Ռ͕ਖ਼͍͜͠ͱΛݕূ͢Δ
&&ςε τߴ֬Ͱෛ࠴Խ w ͠&&ςε τͷੋඇΛཧղ͠ͳ͍··ɺ ΔؾΛग़ͯ͠೦ೖΓʹॻ͍ͨ߹ w ͦͷ&&ςε τ͔ͳΓߴ͍֬Ͱෛ࠴Խ͢Δ w
࣮ͷͱ͜Ζɺ εϚʔ τͰ༗ӹͳ&&ςε τΛॻ͍ͯอक͢Δʹ͔ͳΓ εΩϧ͕ٻΊΒΕΔ w มߋʹڧ͍͔Ͳ͏͔ w ػೳҰͭҰͭͷཻͩͱมߋগͳ͍ w ը໘શମͷ ʮͲΕ͔ʯ ͕มߋ͞ΕΔසߴ͍ w $44Ϋϥε໊ͷվ໊ɺ σβΠϯͷมߋͱཁૉͷ࠶ஔɺ ಋઢݟ͠
ෛ࠴Խͨ͠ςε τͲ͏ͳΔ͔ w ৗʹϨο υ w Ϩο υ୭ݟͨ͘ ͳ͍ w
$*ͷఆظ࣮ߦ͔Β֎͞ΕΔ w ϩʔΧϧͰ୭࣮ߦ͠ͳ͘ ͳΔ w ࣮ߦ͞Εͳ͍͔Βϝϯςφϯε͞Εͳ͘ ͳΔ
୭࣮ߦ͠ͳ͍ίʔ υͲ͏ͳΔ͔ w ෛ࠴Խ w ຊମଆͷίʔ υͷมߋͰɺ &&ͷςε τίʔ υ͕Λى͜͢͜ͱ͋Δ
w ୭࣮ߦ͠ͳ͍ίʔ υͷίϯύΠϧΤϥʔΛʑ ͱ͢ w ͦͷίϯύΠϧΤϥʔΛͯ͠୭ͤʹͳΒͳ͍ w ϓϩδΣΫ τશମݕࡧͰ&&ϑΝΠϧ͕Ҿֻ͔ͬΓݕࡧ݁ՌͷϊΠζͱͳΔ w ࠜຊతʹআڈ͢Δଞͳ͘ ͳΔ
ͦͦԿΛςε τ͍ͨ͠ͷ͔ w ͦͷγφϦΦຊʹ&&ςε τͱ ͯ͠ςε τ͖͢ͳͷ͔ w ϑϩϯ τΤϯ
υͷ୯ମςε τͰΑ͍ͷͰ ʁ w αʔόʔଆͷςε τʹ͖͢Ͱ ʁ w εφοϓγϣ ο τςε τΛ׆༻͖͢Ͱ ʁ w ۛຯ͢Ε͢Δ΄Ͳɺ &&ςε τ ʮͦΜͳʹແ͘ ͍͍ͯʯ ͱͳΔ
୯ମςε τͰͰ͖ͳ͍͜ͱΛΔ w ͋Δը໘Λ։͍ͨͱ͖ʹɺ ͦͷը໘ཁૉ ɾ ॲཧͷ ʮͲ͔͜ʯ Ͱ ϥϯλΠϜΤϥʔ͕ग़͍ͯͳ͍͔
wʮ͜ͷը໘Λ։͍ͨΒਅͬനͰͨ͠ ʂ ʯ Λແ͘ ͢ w Τϥʔ͕ग़ͳ͍߹ɺ ଟ͘ͷέʔεͰ ʮόάى͍ͬͯ͜ͳ͍ʯ ͱݟͳͤΔ w ͪΖΜݸʑͷ୯ମςε τɺ Өڹൣғಛఆɺ खಈςε τซ༻͖͢
1SPUSBDUPS w "OHVMBS$-*͕ಉ࣌ʹΠϯε τʔϧͯ͘͠ΕΔ&&͚ςε τϑ ϨʔϜϫʔΫ w ࠷৽൛ϲ݄Ҏ ʢ࣌ʣ ʹϦ
Ϧʔε͞Ε͍ͯΔͷͰ ։ൃ͕ࢭ·͍ͬͯΔΘ͚Ͱͳ͍
1SPUSBDUPSͷੋඇ w 1SPUSBDUPS4FMFOJVN 8FC%SJWFSΛϕʔεʹ͍ͯ͠Δ w ฮͷٕज़ w ͜Ε͕ѱ͍ͱݴ͍͍ͨΘ͚Ͱͳ͍ w $*Ͱಈ͔͍͔͢͠Ͳ͏͔͕ॏཁ
w ͪΐͬͱ͍͠
1VQQFUFFS w 1VQQFUFFS ʢύϖςΟ Ξʣ ΛͬͯΈΔ w 1VQQFUFFS)FBEMFTT$ISPNFΛૢ࡞Ͱ͖Δ w BTZODBXBJUߏจʹΑͬͯ୯७ͳεΫ
Ϧ ϓτΛॻ͘ Α ͏ʹهड़Մೳ w ্͔Βॱʹߦ͝ͱʹಡΊͯಡΈ͍͢
1VQQFUFFSͰͷ&SSPS%FUFDUJOH w 1VQQFUFFS +FTUΛΈ߹ΘͤΔ w 1VQQFUFFSͰ$ISPNFͷΤϥʔΛϋϯ υ Ϧ ϯάͰ͖Δ w
page.on('console', callback)ͱ͍͏"1* w ͜ΕΛ+FTUͰ࣮ߦ͠ ʮΤϥʔ͕ແ͚ΕάϦʔϯʯ ͱ͍͏ ςε τ͕ॻ͚Δ
1VQQFUFFSͱ$*ͷ૬ੑ w )FBEMFTT$ISPNFΛ͏ͷͰ$*Ͱͷڥߏங ɾ ىಈΛอূ͍͢͠ w 4FMFOJVNΑ ΓϋϚΓ͕গͳ͍
Πϯε τʔϧॲཧͱ$*࠷దԽ
OQNQPTUJOTUBMM w package.jsonʹpostinstallΛॻ͍͓͚ͯ npm installͨ͠ͱ͖ʹҰॹʹ४උ࡞ۀͬͯ͘Εָͯ w ຊʹָͳͷ͔ w npm installΛ͢Δͷਓ͚ؒͩͩͱࢥ͍ͬͯͳ͍͔
w $*͕ඞཁͱ͢Δ४උॲཧͱɺ ਓ͕ؒඞཁͱ͢Δ४උॲཧຊʹಉ͔͡
$*Ͱແବͳ͜ͱΛ͍ͯ͠ͳ͍͔ w ϓϩδΣΫ τ͕େ͖ ͘ ͳΓ$*ͷ࣮ߦ͕࣌ؒʙͳͲʹΕ্͕Δͱ ࿐ࠎʹ։ൃޮ͕Լ͕Γ࢝ΊΔ w 13ϨϏϡʔौɺ ܰඍͳमਖ਼Λͯ͠ຖճͨ͞ΕΔ
w $*ͷߴԽΛ͢Δඞཁ͕͋Δ
ܭଌͤΑ w ύϑΥʔϚϯεվળʹ͓͍ͯɺ ԿࣄਪଌΑ Γܭଌ w Ͳͷॲཧ͕͍ͷ͔పఈతʹચ͍ग़͢ w npm installͰແବͳͷΛΠϯε
τʔϧ͍ͯ͠ͳ͍͔ w ͍ͭͰʹ࣮ߦ͞ΕΔpostinstall$*࣮ߦʹඞཁͳॲཧͳͷ͔ w ਓ͕ؒԣண͢ΔͨΊͷॲཧ͕$*ʹͱͬͯෛ୲ʹͳ͍ͬͯͳ͍͔
ࡉԽͤΑ w ͨͱ͑postinstallΛΊΔ w ਓ͕ؒԣண͢ΔͨΊ͚ͩͷࣗಈԽ͠ͳ͍ w ࣮npm install && npm
run setupͳͲͷίϚϯ υͷΈ߹ΘͤΛ εχϖο τʹ࣮ͯ͠ߦ͢Ε͍͍͚ͩͩͬͨ w npm installͰͷॲཧΛݶΓͳ͘ݶఆతʹ͢Δ w 5FTUJOH -JOUJOH 1SFWJFX%FQSPZͷΑ ͏ͳෳ߹తͳॲཧΛॻ͔ͳ͍
ͳΔ͘ฒྻ࣮ߦ w ςε τͯ͠ɺ -JOUπʔϧճͯ͠ɺ ϓϩμΫγϣϯϏϧ υ࣌Τϥʔ͕ແ͍͔֬ೝͯ͠ʜ w ͦͷॲཧຊʹྻ࣮ߦ͠ͳ͍ͱ͍͚ͳ͍ͷ͔ ʁ
w ςε τͭͭ͠ɺ -JOUπʔϧճͭͭ͠ɺ Ϗϧ υ͢ΕΑ͍ w ฒྻ࣮ߦ͢Δ w 5SBWJT$*ʹ$JSDMF$*ʹฒྻ࣮ߦͷͨΊͷ"1*͕༻ҙ͞Ε͍ͯΔ w ࠷ऴతʹ$*ϓϩόΠμʹࡳଋϏϯλͯ͠εϖοΫΛ্͛Δ
ݡ͍։ൃڥอक
͍͔ͳΔͷΔ w ϓϩμΫ τίʔ υ͍ͬͯ͘ w ಉ࣌ʹςε τίʔ υΔ w
$*ͷઃఆϑΝΠϧΔ w package.jsonͷεΫ Ϧ ϓτΔ
ఆظతͳࢹͷ w ͕ى͖ͯ ʮ͍͔͍͍ͭͤʯ ͩͱɺ Ӭԕʹ͢ͱ ͖དྷͳ͍ w ͷੵɺ ͕ͯऔΓฦ͠ͷ͔ͭͳ͍͜ͱʹܨ͕Δ
w ։ൃ͕શʹε τοϓ͢Δʜ w म෮ʹਓ݄͔͔ΔʜͳͲ w ݱঢ়Ͱͳ͍͔ɺ ఆظతʹٙΛ࣋ͭ͜ͱ͕ॏཁ w ҆શͷͨΊͷ׆ಈ
҆શͳ։ൃɺ ҆શͳڥ͔Β 5IBOLZPV