такой задачи:
В коде есть повторяющиеся шаблонные строчки
Неплохо было бы их вынести из кода(как минимум, чтобы легче редактировать было)
Сначала хотел использовать просто json файлик, но быстро пришёл к выводу о том, что он не подойдёт, потому как есть строчки, в которые надо подставлять значения переменных.
Есть ли какой-то готовый модуль для такого, или самому лучше написать?
Почему бы просто в строчках не использовать кастомную интерполяцию? и не делать реплейс вручную для подстановки переменных
{ key: "Text text text {{varName}} text text" } obj[key].replace(/\{\{ varName\}\}/, yourVar);
А если переменных несколько, для каждой писать?.. И везде... Кажется, пахнет шаблонным кодом...
Можно написать один единственный метод, который принимает строку и объект Он будет брать строку и по каждому ключу объекта искать {{ключ}} в строке и заменять его на значение по этому ключу в объекте Будет что-то типа interpolate(dataFromJson.someText, { varName1: 1, varName2: "hello" });
подойдет любой шаблонзатор, можно тот же mustache использовать но там логики минимум больше всего мне понравился кастомный пакет который используется в telegraf-i18n: https://www.npmjs.com/package/compile-template там с помощью модуля vm компилируется шаблон так что можно использовать чистые js шаблоны - Hello, ${name}
Обсуждают сегодня