Многострочная строка шаблона без символов новой строки?

У меня есть эта единственная строка кода:

 console.log(`now running each hook with name '${chalk.yellow(aBeforeOrAfterEach.desc)}', for test case with name '${chalk.magenta(test.desc)}'.`);

проблема в том, что мне нужно поместить его в несколько строк в моей среде IDE, чтобы он подходил (я использую 100 столбцов). Когда я помещаю строку шаблона в несколько строк, строка шаблона интерпретирует ее как символы новой строки, а это не то, что мне нужно.

Итак, мой вопрос: как я могу иметь несколько строк строкового кода шаблона, не регистрируя его с новыми строковыми символами?


person Alexander Mills    schedule 22.09.2017    source источник
comment
Конкатенация??   -  person Alan Larimer    schedule 22.09.2017
comment
`foo` + `bar` работает, но я думаю, что решение с обратной косой чертой аккуратное   -  person Alexander Mills    schedule 22.09.2017


Ответы (1)


используйте обратную косую черту - \ - в конце каждой строки, чтобы избежать вставки \n

 console.log(`\
 now running each hook with name \
'${'foo'}', for test case with name '${'bar'}' \
.`);

Другим вариантом должно быть использование .split("\n").join(''), которое заменит все символы новой строки пустой строкой.

person Kristianmitk    schedule 22.09.2017
comment
эта техника не сработала так хорошо, как я думал, после каждого \ кажется, что к выводу добавляется буквальный пробел, который находится в строке шаблона, что-то странное, я буду продолжать пробовать. - person Alexander Mills; 25.09.2017
comment
можете привести пример? - person Kristianmitk; 25.09.2017
comment
Да, обратная косая черта, кажется, берет любой пробел из отступа как буквальный пробел внутри строки. Единственное решение, которое я вижу, это игнорировать правила отступов в отдельном файле, в который вы импортируете строку, но это, очевидно, не самое чистое решение. - person Nick; 27.07.2020