Skip to content

Commit 111421c

Browse files
committed
Update state/store
1 parent 652aa7e commit 111421c

File tree

5 files changed

+6
-6
lines changed

5 files changed

+6
-6
lines changed

โ€Žko/SUMMARY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
- [์œ ๋‹ˆ๋ฒ„์„ค ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ](universal.md)
33
- [์†Œ์Šค์ฝ”๋“œ ๊ตฌ์กฐ](structure.md)
44
- [๋ผ์šฐํŒ…๊ณผ ์ฝ”๋“œ ๋ถ„ํ• ](routing.md)
5-
- [๋ฐ์ดํ„ฐ ํ”„๋ฆฌํŽ˜์น˜์™€ ์Šคํ…Œ์ดํŠธ](data.md)
5+
- [๋ฐ์ดํ„ฐ ํ”„๋ฆฌํŽ˜์น˜์™€ state(์ƒํƒœ)](data.md)
66
- [ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ํ•˜์ด๋“œ๋ ˆ์ด์…˜](hydration.md)
77
- [๋ฒˆ๋“ค ๋ Œ๋”๋Ÿฌ ์†Œ๊ฐœ](bundle-renderer.md)
88
- [๋นŒ๋“œ ์„ค์ •](build-config.md)

โ€Žko/api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ Vue ์ธ์Šคํ„ด์Šค๋ฅผ Node.js ์ŠคํŠธ๋ฆผ์œผ๋กœ ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค. ์ปจํ…์ŠคํŠธ ๊ฐ
6161

6262
- `context.head`: (string) ํŽ˜์ด์ง€ head์— ์‚ฝ์ž…๋˜์–ด์•ผํ•˜๋Š” ๋งˆํฌ์—…
6363
- `context.styles`: (string) ํŽ˜์ด์ง€ head์— ์‚ฝ์ž…๋˜์–ด์•ผํ•˜๋Š” ๋ชจ๋“  ์ธ๋ผ์ธ CSS. ์ปดํฌ๋„ŒํŠธ CSS์— `vue-loader` + `vue-style-loader`๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ด ์†์„ฑ์ด ์ž๋™์œผ๋กœ ์ฑ„์›Œ์ง‘๋‹ˆ๋‹ค.
64-
- `context.state`: (Object) `window.__INITIAL_STATE__`์—์„œ ๋ฐ˜๋“œ์‹œ ์ธ๋ผ์ธ๋˜์–ด์•ผํ•˜๋Š” ์ดˆ๊ธฐ Vuex ์Šคํ† ์–ด ์Šคํ…Œ์ดํŠธ ์ธ๋ผ์ธ๋œ JSON์€ XSS๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด [serialize-javascript](https://github.com/yahoo/serialize-javascript)๋ฅผ ์‚ฌ์šฉํ•ด ์ž๋™์œผ๋กœ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.
64+
- `context.state`: (Object) `window.__INITIAL_STATE__`์—์„œ ๋ฐ˜๋“œ์‹œ ์ธ๋ผ์ธ๋˜์–ด์•ผํ•˜๋Š” ์ดˆ๊ธฐ Vuex store(์ €์žฅ์†Œ) state(์ƒํƒœ) ์ธ๋ผ์ธ๋œ JSON์€ XSS๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด [serialize-javascript](https://github.com/yahoo/serialize-javascript)๋ฅผ ์‚ฌ์šฉํ•ด ์ž๋™์œผ๋กœ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.
6565

6666
`clientManifest`์ด ์ œ๊ณต๋˜๋ฉด ํ…œํ”Œ๋ฆฟ์€ ์ž๋™์œผ๋กœ ์•„๋ž˜ ๋‚ด์šฉ์„ ์ฃผ์ž…ํ•ฉ๋‹ˆ๋‹ค.
6767

โ€Žko/basic.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,6 @@ renderer.renderToString(app, context, (err, html) => {
139139

140140
- `*.vue` ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ CSS๋ฅผ ์ž๋™์œผ๋กœ ์ฃผ์ž…ํ•ฉ๋‹ˆ๋‹ค.
141141
- `clientManifest`๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์—์…‹ ๋งํฌ ๋ฐ ๋ฆฌ์†Œ์Šค์— ๊ด€๋ จํ•œ ํžŒํŠธ๋ฅผ ์ž๋™์œผ๋กœ ์ฃผ์ž…ํ•ฉ๋‹ˆ๋‹ค.
142-
- ํด๋ผ์ด์–ธํŠธ ์ธก ํ•˜์ด๋“œ๋ ˆ์ด์…˜์„ ์œ„ํ•œ Vuex ์Šคํ…Œ์ดํŠธ ํฌํ•จ์‹œ ์ž๋™ ์ฃผ์ž… ๋ฐ XSS๋ฅผ ์˜ˆ๋ฐฉ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
142+
- ํด๋ผ์ด์–ธํŠธ ์ธก ํ•˜์ด๋“œ๋ ˆ์ด์…˜์„ ์œ„ํ•œ Vuex state(์ƒํƒœ) ํฌํ•จ์‹œ ์ž๋™ ์ฃผ์ž… ๋ฐ XSS๋ฅผ ์˜ˆ๋ฐฉ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
143143

144144
๋‚˜์ค‘์— ์ด ๊ฐ€์ด๋“œ์—์„œ ๊ด€๋ จ ๊ฐœ๋…์„ ์†Œ๊ฐœํ•  ๋•Œ ์ž์„ธํžˆ ๋‹ค๋ฃฐ ๊ฒƒ ์ž…๋‹ˆ๋‹ค.

โ€Žko/build-config.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,9 +150,9 @@ const renderer = createBundleRenderer(serverBundle, {
150150

151151
- `context.renderState(options?: Object)`
152152

153-
์ด ๋ฉ”์†Œ๋“œ๋Š” `context.state`๋ฅผ ์ง๋ ฌํ™”ํ•˜๊ณ  ์Šคํ…Œ์ดํŠธ๋ฅผ `window.__INITIAL_STATE__`๋กœ ํฌํ•จํ•˜๋Š” ์ธ๋ผ์ธ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค.
153+
์ด ๋ฉ”์†Œ๋“œ๋Š” `context.state`๋ฅผ ์ง๋ ฌํ™”ํ•˜๊ณ  state(์ƒํƒœ)๋ฅผ `window.__INITIAL_STATE__`๋กœ ํฌํ•จํ•˜๋Š” ์ธ๋ผ์ธ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค.
154154

155-
์ปจํ…์ŠคํŠธ ์Šคํ…Œ์ดํŠธ ํ‚ค์™€ ์œˆ๋„์šฐ ์Šคํ…Œ์ดํŠธ ํ‚ค๋Š” ์˜ต์…˜ ๊ฐ์ฒด๋ฅผ ์ „๋‹ฌํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
155+
์ปจํ…์ŠคํŠธ state(์ƒํƒœ) ํ‚ค์™€ ์œˆ๋„์šฐ state(์ƒํƒœ) ํ‚ค๋Š” ์˜ต์…˜ ๊ฐ์ฒด๋ฅผ ์ „๋‹ฌํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
156156

157157
```js
158158
context.renderState({

โ€Žko/structure.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ server.get('*', (req, res) => {
3636
})
3737
```
3838

39-
๋™์ผํ•œ ๊ทœ์น™์ด ๋ผ์šฐํ„ฐ, ์Šคํ† ์–ด ๋ฐ ์ด๋ฒคํŠธ ๋ฒ„์Šค ์ธ์Šคํ„ด์Šค์—๋„ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋“ˆ์—์„œ ์ง์ ‘ exportํ•˜๊ณ  ์•ฑ์—์„œ import ํ•˜๋Š” ๋Œ€์‹  `createApp`์— ์ƒˆ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ๋ฃจํŠธ Vue์ธ์Šคํ„ด์Šค์—์„œ ์ด๋ฅผ ์ฃผ์ž…ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
39+
๋™์ผํ•œ ๊ทœ์น™์ด ๋ผ์šฐํ„ฐ, store(์ €์žฅ์†Œ) ๋ฐ ์ด๋ฒคํŠธ ๋ฒ„์Šค ์ธ์Šคํ„ด์Šค์—๋„ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋“ˆ์—์„œ ์ง์ ‘ exportํ•˜๊ณ  ์•ฑ์—์„œ import ํ•˜๋Š” ๋Œ€์‹  `createApp`์— ์ƒˆ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ๋ฃจํŠธ Vue์ธ์Šคํ„ด์Šค์—์„œ ์ด๋ฅผ ์ฃผ์ž…ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
4040

4141
> ์ด๋Ÿฌํ•œ ์ œ์•ฝ ์กฐ๊ฑด์€ ๋ฒˆ๋“ค ๋ Œ๋”๋Ÿฌ๋ฅผ `{ runInNewContext: true }`์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ๋•Œ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๊ฐ ์š”์ฒญ์— ๋Œ€ํ•ด ์ƒˆ๋กœ์šด vm context๋ฅผ ๋งŒ๋“ค์–ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ์— ์ƒ๋‹นํ•œ ๋น„์šฉ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
4242

0 commit comments

Comments
ย (0)