Eu achei String.fromCharCode(13, 10)
útil ao usar mecanismos de exibição.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode
Isso cria uma sequência com os caracteres de nova linha reais e força o mecanismo de exibição a produzir uma nova linha em vez de uma versão de escape. Por exemplo: Usando o mecanismo de exibição NodeJS EJS - Este é um exemplo simples no qual qualquer \ n deve ser substituído:
viewHelper.js
exports.replaceNewline = function(input) {
var newline = String.fromCharCode(13, 10);
return input.replaceAll('\\n', newline);
}
EJS
<textarea><%- viewHelper.replaceNewline("Blah\nblah\nblah") %></textarea>
Renderiza
<textarea>Blah
blah
blah</textarea>
substitua tudo:
String.prototype.replaceAll = function (find, replace) {
var result = this;
do {
var split = result.split(find);
result = split.join(replace);
} while (split.length > 1);
return result;
};