Slide 1

Slide 1 text

αΫοͱ؆୯ʂ͓खܰ4DBGGPME ( & & , 4 8 ) 0 % 3 * / , * / ' 6 , 6 0 , " ' 3 0 / 5 & / % & % * 5 * 0 /

Slide 2

Slide 2 text

‣ ,FJUBSP0LBNVSB ‣ ΧϥϏφςΫϊϩδʔגࣜձࣾ ‣ ϑϩϯτΤϯυΤϯδχΞ ‣ !LBSBBHFLFJUBSPP ࣗݾ঺հ

Slide 3

Slide 3 text

‣ ΞϓϦέʔγϣϯͷ਽ܗ ‣ ྫ͑͹ɺ3VCZPO3BJMTʹ͸ʮ4DBGGPMEʯͱݺ͹ΕΔ਽ܗΛࣗಈ ੜ੒͢Δػೳ͕͋Δ ‣ "OHVMBS$-*ͩͱʮOHHFOFSBUFʯίϚϯυҰൃͰ਽ܗΛੜ੒Ͱ ͖Δ 4DBGGPMEͱ͸ʁ

Slide 4

Slide 4 text

‣ 7VF$-*ͱ͍͏ϓϩδΣΫτͷ਽ܗΛੜ੒͢Δ։ൃπʔϧ͸͋Δ ‣ (FOFSBUPSͱ͍͏ػೳ͕͋ΓɺطଘςϯϓϨʔτΛ࢖ͬͯϢʔβʔ ޲͚ʹΧελϚΠζ΋Մೳ ‣ IUUQTHJUIVCDPNWVFKTUFNQMBUFT ‣ ͭ·ΓɺϓϩδΣΫτݻ༗ͷίʔυ͸ੜ੒Ͱ͖Δ 7VFKTͰ͸ʁ

Slide 5

Slide 5 text

‣ ϓϩδΣΫτͷઃܭΛόγοͱܾΊΕͳ͍ɻɻɻ ‣ ࠓޙɺॊೈʹมԽ͍ͯ͘͠Մೳੑ͋Γ ‣ ΋ͬͱؾܰʹ4DBGGPMEJOH͍ͨ͠ʂ ͔͠͠ɻɻɻ $ vue generate ίϚϯυཉ͍͠

Slide 6

Slide 6 text

ઌि͙Β͍ ʮԿ͔ྑ͍ͷ͋Γ·͔͢ʔʁʯ

Slide 7

Slide 7 text

ઌि͙Β͍ ʮ)ZHFO͸͍͍ͧʙʯ

Slide 8

Slide 8 text

ѹ౗తײँͬɾɾɾʂ

Slide 9

Slide 9 text

IUUQXXXIZHFOJP

Slide 10

Slide 10 text

)ZHFO͕Ͱ͖Δ͜ͱ ‣ γϯϓϧ͔ͭߴ଎ͳίʔυδΣωϨʔλʔ ‣ ର࿩ܗࣜͰϑΝΠϧΛ࡞੒Ͱ͖Δʂ ‣ طଘϑΝΠϧʹ΋ίʔυΛ஫ೖͰ͖Δʂ ‣ ࣗ༝ʹ$-*ʹΦϓγϣϯΛ౉ͤͯɺςϯϓϨʔτ಺Ͱͦͷ஋ Λల։Ͱ͖Δʂ ‣ ΧελϚΠζ͸ແݶେʂ

Slide 11

Slide 11 text

΍Γ͍ͨ͜ͱ ‣ ίϯϙʔωϯτͷ4DBGGPMEΛίϚϯυ͔Βੜ੒͍ͨ͠ʂ ‣ ੜ੒ϩδοΫςϯϓϨʔτ͕ϝϯςφϯε͠΍͍͢͜ͱ ‣ ίϯϙʔωϯτϑΝΠϧ WVF ͕࡞ΒΕΔ ‣ ςετʢ+FTUʣϑΝΠϧ͕࡞ΒΕΔ ‣ 4UPSZCPPLͷϑΝΠϧ͕࡞ΒΕΔ ‣ "UPNJD%FTJHOͷཻ౓͕1BHFTͷ৔߹ɺϧʔςΟϯά͕௥Ճ͞ΕΔ

Slide 12

Slide 12 text

΍Γ͍ͨ͜ͱ ‣ ίϯϙʔωϯτͷ4DBGGPMEΛίϚϯυ͔Βੜ੒͍ͨ͠ʂ ‣ ੜ੒ϩδοΫςϯϓϨʔτ͕ϝϯςφϯε͠΍͍͢͜ͱ ‣ ίϯϙʔωϯτϑΝΠϧ WVF ͕࡞ΒΕΔ ‣ ςετʢ+FTUʣϑΝΠϧ͕࡞ΒΕΔ ‣ 4UPSZCPPLͷϑΝΠϧ͕࡞ΒΕΔ ‣ "UPNJD%FTJHOͷཻ౓͕1BHFTͷ৔߹ɺϧʔςΟϯά͕௥Ճ͞ΕΔ )ZHFOͳΒ؆୯ʹͰ͖Δʂ

Slide 13

Slide 13 text

5FNQMBUF --- to: "src/components/<%= category %>/<%= name %>/index.vue" ---
import Vue from “vue"; export default Vue.extend({ name: "<%= name %>" }); ‣ ςϯϓϨʔτ͸FKTܗࣜͰهड़ɹྫɿίϯϙʔωϯτϑΝΠϧ

Slide 14

Slide 14 text

5FNQMBUF --- to: "src/components/<%= category %>/<%= name %>/index.vue" ---
import Vue from “vue"; export default Vue.extend({ name: "<%= name %>" }); ‣ ςϯϓϨʔτ͸FKTܗࣜͰهड़ɹྫɿίϯϙʔωϯτϑΝΠϧ IFBE෦෼ʢZBNMܗࣜʣ CPEZ෦෼ʢFKTܗࣜʣ

Slide 15

Slide 15 text

1SPNQU ‣ ίϚϯυΛ࣮ߦ͢Δͱɺྫ͑͹ʮίϯϙʔωϯτ໊͸Կʁʯͱ͔ ͕ର࿩తʹग़͖ͯ·͢ɻͦͷର࿩తͳ಺༰ΛಠࣗʹΧελϚΠζ ͢Δ͜ͱ͕Ͱ͖Δ $ hygen new component ✔ ίϯϙʔωϯτ໊: · TestButton ? ίϯϙʔωϯτཻ౓: … ✔ atoms ✔ molecules ✔ organisms ✔ pages

Slide 16

Slide 16 text

1SPNQU ‣ QSPNQUKTʹ഑ྻܗࣜͰJORVJSFSͷϑΥʔϚοτΛॻ͖·͢ ‣ όϦσʔγϣϯͰϢʔβʔͷޡͬͨೖྗΛ๷͙͜ͱ΋Մೳ module.exports = [ { type: "input", name: "name", message: "ίϯϙʔωϯτ໊:", validate(value) { if (!value.length) { return "ίϯϙʔωϯτ໊Λೖྗ͍ͯͩ͘͠͞ɻ"; } return true; } },

Slide 17

Slide 17 text

)FMQFST ‣ DPOpHϑΝΠϧͷIZHFOKTʹϞδϡʔϧΛಡΈࠐΉͱɺςϯϓ Ϩʔτ಺ͰͦͷϞδϡʔϧ͕࢖͑Δ module.exports = { helpers: { fs: require("fs") } };

Slide 18

Slide 18 text

)FMQFST ‣ ྫ͑͹ɺ/PEFKTͷGTϞδϡʔϧΛ࢖͑͹ɺϑΝΠϧૢ࡞͕Մೳ ‣ FYQPSUͨ͠ϑΝΠϧΛҰׅͰಡΈ͜Έɺ·ͱΊͯFYQPSU͢ΔΑ ͏ͳϑΝΠϧ΋࡞੒Ͱ͖Δ // components/atoms/index.ts import TestButton from “./TestButton/index.vue"; import TestIcon from "./TestIcon/index.vue"; export { TestButton, TestIcon };

Slide 19

Slide 19 text

$ ΋͕࣌ؒ͠༨͍ͬͯͨΒɺdemo ͠·͢

Slide 20

Slide 20 text

‣ )ZHFO͸͍͍ͧ ‣ पลπʔϧ͸΍ͬͺΓେࣄɻ໘౗ͳ͜ͱ͸ࣗಈԽ͢Δ ‣ ίϯϙʔωϯτ໊ͱ͔ελΠϧΨΠυʹԊͬͨίʔυ୲อͰ͖Δ ‣ ΧελϚΠζ࣍ୈͰແݶͷՄೳੑ✨ ࠓ೔ͷ·ͱΊ

Slide 21

Slide 21 text

͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ