[Nuxt.js] NuxtServerInit

2022. 6. 6. 02:12ใ†Front-End ์ž‘์—…์‹ค/Nuxt.js

728x90
๋ฐ˜์‘ํ˜•

 

 

 

 

๐Ÿš€ NuxtServerInit

     ๐Ÿ”ฝ  NuxtServerInit

        ๐Ÿ“ฆ ๊ฐœ์š”

NustServerInit ํ•จ์ˆ˜๋Š” Nuxt.js universal Mode์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜์ธ ๊ฒƒ์ด์—์š”.

// store/index.js
actions: {
  nuxtServerInit(context, { req }) {
    if (req.session.user) {
      context.commit('user', req.session.user)
    }
  }
}


์œ„ ํ•จ์ˆ˜๋Š” SSR(Server Side Rendering) ์‹œ์ ์— ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— Store์— ๋ฏธ๋ฆฌ Data๋ฅผ ์„ค์ •ํ•ด ๋†“๊ฑฐ๋‚˜, Server์—์„œ๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” Data๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ์œ ์šฉํ•˜๋‹ต๋‹ˆ๋‹ค. ๋งŒ์•ฝ, Server์—์„œ Session์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ตฌ์กฐ์ด๊ณ , Session์— ์—ฐ๊ฒฐ๋œ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ Store์— ์ €์žฅํ•ด์•ผ ํ•  ๋•Œ ์œ„์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ Store์— ๋ฏธ๋ฆฌ ๋‹ด์•„ ๋†“์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋ฐ˜์‘ํ˜•


nuxtServerInit Action ํ•จ์ˆ˜์˜ ์ฒซ๋ฒˆ์งธ ๋งค๊ฐœ ๋ณ€์ˆ˜๋Š” Store Context  ์ •๋ณด๋ฅผ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด์ด๊ณ , ๋‘๋ฒˆ์งธ ๋งค๊ฐœ ๋ณ€์ˆ˜๋Š” Nuxt Context ์ •๋ณด๊ฐ€ ๋‹ด๊ธด ๊ฐ์ฒด์ธ ๊ฒƒ์ด์—์š”.

// store/index.js
actions: {
  nuxtServerInit(storeContext, nuxtContext) {
    storeContext.commit('๋ฎคํ…Œ์ด์…˜ ํ•จ์ˆ˜๋ช…');
    if (process.server) {
      const { req, res, beforeNuxtRender } = nuxtContext;
    }
  }
}


์œ„ ๋‘๋ฒˆ์งธ ๋งค๊ฐœ ๋ณ€์ˆ˜ nuxtContext๋Š” asyncData()์˜ context ๋งค๊ฐœ ๋ณ€์ˆ˜์™€ ๊ฐ™๋‹ต๋‹ˆ๋‹ค.

 

 

 

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•