Closed
Description
Version
2.6.11
Reproduction link
https://gist.github.com/aimozg/c073eea5a55062e3dcd8f887a8567807
Steps to reproduce
Run example.js in Node.
Alternative steps/Detailed explanation:
- Setup Vue template compiler with
whitespace: 'condense'
. (it is default for vue-cli). - Render template with
entity, e.g.<p>a b</p>
- Inspect template for actual non-breaking space character
What is expected?
entity rendered as non-breaking space character; example.js output should contain
---- whitespace: condense
// code
NBSP FOUND
What is actually happening?
entity is rendered as plain space, example.js output contains
---- whitespace: condense
// code
NBSP NOT FOUND
The whitespace is stripped by this compiler code:
if (!inPre && whitespaceOption === 'condense') {
// condense consecutive whitespaces into single space
text = text.replace(whitespaceRE, ' ')
}
and " "
s are replaced by "\xA0"
s with entity decoder earlier.
Related issues is #10485
Suggestion:
Narrower whitespaceRE regexp, like /[ \t\r\n]+/g
.