没有换行符的多行模板字符串?
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'}`
]));
我只有一行代码:
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'}`
]));