[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
๋ฐ์ํ