Позвольте мне объяснить мою фактическую проблему. У меня есть шаблон строки, которая может выглядеть следующим образом:Загрузка строки шаблона ES6 из файла
/${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
.
Я мог бы придумать несколько обходных путей для этой проблемы, но я просто не могу найти подходящее решение.
Просто из любопытства: Зачем вам это нужно, чтобы быть в таком формате, в первую очередь? – nils
Вы имели в виду '$ {id}'? – Bergi
Вы можете использовать тегированные шаблоны для нормализации дополнительных пробелов от правильного отступа. – Bergi