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
710
大規模は開発環境保守が大変なので改善する / 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
9.6k
Podcastを継続する技術 / refactoradio-240119
okunokentaro
1
160
Webアプリケーション設計の第一歩は ディレクトリの整理から / Encraft 1
okunokentaro
34
9.9k
JSONとJSON Schemaを改めて理解する / tokyo_study
okunokentaro
9
2.2k
それでもどうしてRecoilを使うのか / Harajuku.ts Meetup Recoil
okunokentaro
19
5.4k
TypeScriptは10年でこんなに進化しました / TechFeed Experts Night 11
okunokentaro
6
1.7k
Hasura.io RDBをサクサク作る方法はARやO/RMだけじゃなくなりました/hasura-io
okunokentaro
5
620
コードには型アノテーションよりも要件アノテーションを増やせ!/harajukuts2
okunokentaro
14
6.2k
10年と3ヶ月でWebサービスを作った話 / Piyogrammer Conference 2021
okunokentaro
2
1k
Other Decks in Technology
See All in Technology
AIチャットボット開発への生成AI活用
ryomrt
0
170
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.1k
スクラムチームを立ち上げる〜チーム開発で得られたもの・得られなかったもの〜
ohnoeight
2
350
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
230
Terraform Stacks入門 #HashiTalks
msato
0
350
Amazon Personalizeのレコメンドシステム構築、実際何するの?〜大体10分で具体的なイメージをつかむ〜
kniino
1
100
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
470
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
810
スクラム成熟度セルフチェックツールを作って得た学びとその活用法
coincheck_recruit
1
140
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Site-Speed That Sticks
csswizardry
0
25
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Faster Mobile Websites
deanohume
305
30k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Agile that works and the tools we love
rasmusluckow
327
21k
Automating Front-end Workflow
addyosmani
1366
200k
Embracing the Ebb and Flow
colly
84
4.5k
Building Adaptive Systems
keathley
38
2.3k
Rails Girls Zürich Keynote
gr2m
94
13k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
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