4

我有这行代码:

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

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

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

4

3 回答 3

7

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

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

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

于 2017-09-22T19:10:52.970 回答
0

尝试

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

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

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

于 2021-12-03T02:03:57.363 回答
0

在这一点上,我想这是我们能做的最好的:

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'}`
]));
于 2022-02-24T18:39:43.017 回答