Vue: `whitespace : condense`๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์˜๋ฏธ์žˆ๋Š” ๋ชจ๋“  & nbsp;๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2020๋…„ 01์›” 29์ผ  ยท  5์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: vuejs/vue

๋ฒ„์ „

2.6.11

๋ณต์ œ ๋งํฌ

https://gist.github.com/aimozg/c073eea5a55062e3dcd8f887a8567807

์žฌํ˜„ ๋‹จ๊ณ„

Node.js์—์„œ example.js๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๋Œ€์ฒด ๋‹จ๊ณ„ / ์ž์„ธํ•œ ์„ค๋ช… :

  1. whitespace: 'condense' Vue ํ…œํ”Œ๋ฆฟ ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. (vue-cli์˜ ๊ธฐ๋ณธ๊ฐ’).
  2. &nbsp; ์—”ํ‹ฐํ‹ฐ๊ฐ€์žˆ๋Š” ๋ Œ๋”๋ง ํ…œํ”Œ๋ฆฟ (์˜ˆ : <p>a&nbsp;b</p>
  3. ์‹ค์ œ ๋น„์ค„ ๋ฐ”๊ฟˆ ๊ณต๋ฐฑ ๋ฌธ์ž์— ๋Œ€ํ•œ ํ…œํ”Œ๋ฆฟ ๊ฒ€์‚ฌ

๋ฌด์—‡์„ ๊ธฐ๋Œ€ํ•ฉ๋‹ˆ๊นŒ?

&nbsp; ๋˜์ง€ ์•Š๋Š” ๊ณต๋ฐฑ ๋ฌธ์ž๋กœ ๋ Œ๋”๋ง ๋œ

---- whitespace: condense
// code
NBSP FOUND

์‹ค์ œ๋กœ ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

&nbsp; ์—”ํ‹ฐํ‹ฐ๋Š” ์ผ๋ฐ˜ ๊ณต๊ฐ„์œผ๋กœ ๋ Œ๋”๋ง๋˜๋ฉฐ example.js ์ถœ๋ ฅ์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

---- whitespace: condense
// code
NBSP NOT FOUND

๊ณต๋ฐฑ์€ ๋‹ค์Œ ์ปดํŒŒ์ผ๋Ÿฌ ์ฝ”๋“œ์— ์˜ํ•ด ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.

if (!inPre && whitespaceOption === 'condense') {
  // condense consecutive whitespaces into single space
  text = text.replace(whitespaceRE, ' ')
}

๋ฐ "&nbsp;" ์€ ์ด์ „์— ์—”ํ‹ฐํ‹ฐ ๋””์ฝ”๋”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ "\xA0" ๋กœ ๋Œ€์ฒด๋ฉ๋‹ˆ๋‹ค.

๊ด€๋ จ ๋ฌธ์ œ๋Š” https://github.com/vuejs/vue/issues/10485์ž…๋‹ˆ๋‹ค.

์ œ์•ˆ :

/[ \t\r\n]+/g ์™€ ๊ฐ™์ด ๋” ์ข์€ ๊ณต๋ฐฑ RE ์ •๊ทœ์‹.

bug compiler has PR

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ผ๋ฐ˜์ ์œผ๋กœ ๊นจ์ง€์ง€ ์•Š๋Š” ๊ณต๊ฐ„์„ ๋งŒ์ง€์ง€ ์•Š์•„์•ผํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ? ๊ทธ๊ฒƒ์ด ์ œ ํ…œํ”Œ๋ฆฟ์—์„œ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๊ฐœ์ธ์ ์œผ๋กœ ๊ธฐ๋Œ€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ์–ธ๊ธ‰ ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  5 ๋Œ“๊ธ€

์ผ๋ฐ˜์ ์œผ๋กœ ๊นจ์ง€์ง€ ์•Š๋Š” ๊ณต๊ฐ„์„ ๋งŒ์ง€์ง€ ์•Š์•„์•ผํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ? ๊ทธ๊ฒƒ์ด ์ œ ํ…œํ”Œ๋ฆฟ์—์„œ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๊ฐœ์ธ์ ์œผ๋กœ ๊ธฐ๋Œ€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ์–ธ๊ธ‰ ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

๊ณต๋ฐฑ์ด์žˆ๋Š” Vue ํ…œํ”Œ๋ฆฟ ์ปดํŒŒ์ผ๋Ÿฌ ์„ค์ • : 'condense'. (vue-cli์˜ ๊ธฐ๋ณธ๊ฐ’) .

์ž ๊น, ํ˜ผ๋ž€ ์Šค๋Ÿฌ์›Œ์š”. condense ์‹ค์ œ๋กœ ๊ธฐ๋ณธ๊ฐ’์ž…๋‹ˆ๊นŒ? preserve ์ด ์‹ค์ œ๋กœ ๊ธฐ๋ณธ๊ฐ’์ด๋ผ๊ณ  ์ฃผ์žฅํ•˜๋Š” ํ•ญ๋ชฉ์ด ์—ฌ๋Ÿฌ ๊ฐœ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊นจ์ง€์ง€ ์•Š๋Š” ๊ณต๊ฐ„์ด ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ๊ตฐ๋ถ„ํˆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ•์ œ ๋ณด์กด์„ ์‹œ๋„ํ•˜๋ ค๊ณ ํ–ˆ์ง€๋งŒ ๋‹ค์Œ์„ ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

Evan, ๊ธฐ๋ณธ๊ฐ’์€ preserve https://github.com/vuejs/vue/issues/9208#issuecomment -450012518

๊ทธ๋ฆฌ๊ณ  https://github.com/vuejs/vue/tree/dev/packages/vue-template-compiler#options ๋ฌธ์„ ๋ฐ˜์˜ํ•˜๋Š” ์ปดํŒŒ์ผ๋Ÿฌ ์˜ต์…˜ ๋ฌธ์„œ

์ด์ œ @aimozg ๊ฐ€ condense ๊ฐ€ ์‹ค์ œ๋กœ ๊ธฐ๋ณธ๊ฐ’์ด๋ผ๊ณ  ๋งํ•˜๋Š” ๊ฒƒ์„ ๋ณธ ํ›„, ์ €๋Š” ๊ณ„์†ํ•ด์„œ preserve ์ˆ˜๋™์œผ๋กœ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ์ •์ƒ์œผ๋กœ ๋Œ์•„ ์™”์Šต๋‹ˆ๋‹ค!

๋ฌธ์„œ / ๊ตฌํ˜„์ด ์ž˜๋ชป ๋˜์—ˆ์Šต๋‹ˆ๊นŒ?

์–ด๋Š ์ชฝ์ด๋“  ์‘์ถ•์ด nbsp๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๋งค์šฐ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋™์ž‘์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๋“ค์ด ๋งŒ์ ธ์„œ๋Š” ์•ˆ๋œ๋‹ค๋Š” ๋ฐ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค.

์ด์ „ ๋ฒ„์ „๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด Vue ์ฝ”์–ด์— ๊ณต๋ฐฑ์ด ์œ ์ง€๋˜๋ฉฐ ์ตœ์‹  ๋ฒ„์ „์˜ Vue CLI์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ condense ๋กœ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ด์Šค์ผ€์ดํ”„ ๋œ ํƒญ &#9; ์™€ ๋™์ผ

์ฝ”๋“œ๋ฅผ ํ‘œ์‹œํ•˜๊ธฐ๊ฐ€ ๋งค์šฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

๋ณ‘ํ•ฉ๋˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ค‘ ..
ํ˜„์žฌ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•
์‚ฌ์šฉํ•˜๋‹ค

{{'\xa0'}}

๋Œ€์‹ ์—

&nbsp;
์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰