根据 这个 esdiscuss 讨论,可以在 ECMAScript 6 中定义多行字符串,而不必将字符串的后续行放在该行的最开头。
Allen Wirfs-Brock 的帖子 包含一个代码示例:
var a = dontIndent
`This is a template string.
Even though each line is indented to keep the
code neat and tidy, the white space used to indent
is not in the resulting string`;
有人可以解释这是如何实现的吗?如何定义这个 dontIndent
东西以删除用于缩进的空格?
原文由 Šime Vidas 发布,翻译遵循 CC BY-SA 4.0 许可协议
2020 年答案:尽管 TC39 已经讨论过添加一个新的模板文字来处理缩进,但 JS 标准库中仍然没有内置任何内容来处理去除长行的凹痕。您目前有 2 个选择:
dedent-js
包实际上适用于制表符和空格。将删除每行上的后续空格和前导回车。它也有更多的用户,一个问题跟踪器,并且比从 Stack Overflow 复制粘贴更容易更新!
注意:
dedent
是一个独立的包dedent-js
和dedent
在选项卡上失败。The empty export...
紧跟在回车之后,但显示为缩进。