让我解释一下我的实际问题。我有一个模板字符串,看起来像这样:
/${name}
get
post
/{id}
get
/file-content
get
post
缩进必须保持不变。
现在,如果我要使用这样的模板字符串,它可能看起来像这样:
function test(arr) {
let ret = []
arr.forEach(
function(name) {
return `/${name}
get
post
/{id}
get
/file-content
get
post`
return ret
}
)
}
看起来很可笑,对吧?我当然可以在模板中添加额外的空格以匹配我的代码缩进,但是之后我必须对字符串执行不必要的操作以再次对其进行规范化。
因此,我的想法是将模板字符串移动到外部文件,并require
在我需要模板字符串时将该文件移动到该文件中。
但是 require 不能用于那个问题,因为它只不过是一个文本文件,我当然不想每次需要它时从磁盘读取该文件并对其执行eval
。
我可以想出几个解决这个问题的方法,但我似乎找不到令人满意的解决方案。