没有换行符的多行模板字符串?

Multi-line template string with no newline characters?

我只有一行代码:

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

问题是我必须将它放在我的 IDE 中的多行中以使其适合(我有 100 列)。当我将模板字符串放在多行时,模板字符串将其解释为换行符,这不是我想要的。

所以我的问题是 - 如何在不使用换行符记录的情况下拥有多行模板字符串代码?

在每行末尾使用反斜杠 - \ - 以避免插入 \n

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

另一个选项应该是使用 .split("\n").join(''),它将用空字符串替换所有换行符

尝试

const foo = "foo"
const bar = "bar"

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

这应该保留任何空格,包括缩进。

此时我想这是我们能做的最好的了:

const trim = (v: string) => String(v || '').trim()
const mapTemplateStrings = (v :Array<string>) => v.map(trim).join(' ');

console.log(mapTemplateStrings([
    `first line ${'one'}`,
    `second line ${'second'} and yada`,
    `bidding war ${'three'}`
]));