Как вы обрабатываете многострочную сгенерированную на основе литералов строку, чтобы исключить все пробелы, создаваемые после любого / всего JS отступа кода.
Я использовал замену регулярных выражений, чтобы избавиться от начального пробела в моей первой тестовой строке. Но что, если строка будет HTML, которая имеет структуру отступа, которую я хотел бы сохранить.
//problem: includes a lot of white space
if(true){
const aString = `This string
is multiline
and indented to match
the surrounding
JS code`
console.log(aString)
}
//what I have tried
if(true){
const aString = `This string
is multiline
and indented to match
the surrounding
JS code`
const newString = aString.replace(/\n[ \t]+/g, " \n")
console.log(newString)
}
//but what about this
if(true){
const aString = `<div class="hello">
<div class="inner">
<span>Some text</span>
</div>
</div>`
const newString = aString.replace(/\n[ \t]+/g, " \n")
console.log(newString)
}
Я хотел бы напечатать:
<div class="hello">
<div class="inner">
<span>Some text</span>
</div>
</div>
, а не:
<div class="hello">
<div class="inner">
<span>Some text</span>
</div>
</div>