AmplifyNext.jsNest.js͞ΘͬͯΈͨʂ
View Slide
ࠓճ࣮ࡍʹ͞ΘͬͯΈͯ,,,• ͱͬͯૉૣ͘ىಈͰ͖Δʂ(ίϚϯυୟ͚ଈʂ)• Ͱɺ࣮ݱͰ͖Δ·ͰʹͪΐͬͱϋϚͬͨͱ͜Ζ͋Γ• ࠓճAmplifyͰNext.jsΛσϓϩΠͱNest.jsͰCRUDͷ2ͭΓ·ͨ͠ʂ
֤ϑϨʔϜϫʔΫʹ͍ͭͯAmplify• SPA੩తδΣωϨʔλʔΛ࠷ͰϦϦʔε͢ΔͨΊʹ։ൃϓϥοτϑΥʔϜAmplifyϑΝϛϦʔ• FrameworkɹˠΫϥΠΞϯτ͕AWSͷόοΫΤϯυͱ࿈ܞ͢ΔͨΊͷॲཧΛߦͰ࣮Ͱ͖ΔΑ͏ʹ͢ΔϑϨʔϜϫʔΫͰ• CLIɹˠAWSͰαʔόʔϨεͳόοΫΤϯυΛߏஙɾཧ͢ΔͨΊͷCLIπʔϧɻ• Developer ToolsɹˠϑϩϯτΤϯυͱόοΫΤϯυʹରͯ͠ϏϧυɺςετɺσϓϩΠɺϗεςΟϯάΛ༰қʹ࣮ݱͰ͖ΔAWSαʔϏε
֤ϑϨʔϜϫʔΫʹ͍ͭͯNext.js• ΞϓϦ͚ʔγϣϯߏஙΊͬͪΌ؆୯ $ npx create-next-app (Reactcreate-react-app ͋Δ͕,,,)• ϧʔςΟϯά͕༰қ• SPAͱSSRͷͷΓସ͕͑؆୯ Next.js࠾༻اۀ Hulu Uber NETFLIX Github,docer
֤ϑϨʔϜϫʔΫʹ͍ͭͯNest.js• TSΛϕʔεͱͨ͠όοΫΤϯυ• ݟͨײ͡SpringBootͱࣅͯΔͱ͜Ζଟ͠ʂ(↓)• Controller,Service,ModuleͷࡾͰͦΕͧΕ͕͋Δɻ(͔Γ͍͢)• ֤ࡾίϚϯυͰ࡞Δ $ nest g module userModule
ϋϚͬͬͨͱ͜Amplify×Next.jsʹ͍ͭͯ• AmplifyΛ͏ͷʹҎԼͷྲྀΕͰͬͯΈͨ 1.AWS CLIͷΠϯετʔϧ →aws configure ͰprofileΛઃఆ 2.Amplify CLIͷΠϯετʔϧ →ΠϯετʔϧʹNode͕ඞཁʂ 3.Next.jsͰϓϩδΣΫτ࡞ͬͯ amplify init Λ͢Δɻ 4.Next.jsͷίʔυΛGitHubʹ͋͛Δ 5Amplify͔ΒGUIͰσϓϩΠ
ϋϚͬͬͨͱ͜Amplify×Next.jsʹ͍ͭͯ• AmplifyΛ͏ͷʹҎԼͷྲྀΕͰͬͯΈͨ 1.AWS CLIͷΠϯετʔϧ →aws configure ͰprofileΛઃఆ 2.Amplify CLIͷΠϯετʔϧ →ΠϯετʔϧʹNode͕ඞཁʂ 3.Next.jsͰϓϩδΣΫτ࡞ͬͯ amplify init Λ͢Δɻ 4.Next.jsͷίʔυΛGitHubʹ͋͛Δ 5Amplify͔ΒGUIͰσϓϩΠ͍ɺ͜͜ͰҾֻ͔ͬΓ·ͨ͠ɻNodeͷόʔδϣϯʹʂ
ϋϚͬͬͨͱ͜Nest.js×Amplify• ͲͪΒΛμϯϩʔυ͢ΔʹNode͕ඞཁɻɹɹݱࡏnode ver 12.9.0• ͔͠͠Next.jsΛcreate͢Δࡍʹ͜ΜͳΤϥʔ • ;Ή;Ήɺnode͋͛ͨΒ͍͍ΜͶʂ →͕ɺ͔͠͠ઌ΄ͲΠϯετʔϧͨ͠Amplifynode12.9.0ͰΠϯετʔϧ ͔ͨ͠ΒAmplify init͕Ͱ͖ΜΜΜΜʂʂʂʂʂ
ϋϚͬͬͨͱ͜Nest.js×Amplify• • ࠓճglobalʹ12.9.0Λࢦఆ͕ͯͨ͠ɺassistanceʹlocal12.9.0Λࢦఆ globalʹݱࡏnodeਪதͷ14.17.4Λઃఆ →ͪΖΜશͯҰΞϯΠϯετʔϧͯ͠࠶μϯϩʔυͨ͠Α(ͽ͑Μ)͜Μͳ࣌nodoenvΛͬͯόʔδϣϯΛΓସ͑Α͏ʂ
Nest.jsController• Controller • SpringBootͱ΄΅ಉ͡• @ControllerͷΑ͏ʹΞϊςʔγϣϯΛͬͯΔ෦ͳͲΘ͔Γ͍͢ →AngularௐͯΈ͕ͨ ΞϊςʔγϣϯΛͬͨهड़͕͋ΔɻΓAngularΛࢀߟʹͯ͠Δ͚ͩ͋Δ
Nest.jsService• Controller • جຊతʹॲཧͷ۩ମ͜͜ɻ• @InjectableͳͲDI(ґଘੑͷೖ)χϠͬͯ͠·ͨ͠স• ֤ϝιουΛ͜Ͷ͜Ͷɻ
Nest.jsModule• app.module • User.module • ͜͜DBͱcontrollerͱserviceΛ͍͍ײ͡ʹܨ͙Πϝʔδ
·ͱΊɾNestͱNextΛAmplifyͳͰࡌͤΔ͜ͱ͕Ͱ͖ͳ͔ͬͨͷͰɺͦ͜·ͰͬͯΈ͔ͨͬͨɻɾϋϚΔͱ͜Ζ͕͋ͬͨ࠶ͬͯΈΔͱૣ͍ૣ͍ʂɾ·ͩ·ͩศརͳ෦ɺ͍ʹ͍͘෦Λ୳͍͖ͯͨ͠͠ʂ
ޚਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂҾ༻ Next.jsɺAmplifyͰ։ൃڥߏங͢Δ(https://qiita.com/ps-y-uehara/items/4542349252eb3d83e644)NestJSೖɹجૅ͔ΒMomgoDBɺೝূ·ͰΛҰؾʹղઆ ( https://www.youtube.com/watch?v=HQ3tjl_Sh9s )