Я занимаюсь интернационализацией для веб-сайта и столкнулся со странной проблемой с интерполяцией строк.Следующая переменная не будет скомпилирована, так как не сможет Parsing error: Unexpected character ''
.Вы можете проверить это самостоятельно в www.jslint.com .
const production = `${t('solarPanel.production.daily')} ${moment(selectedTime).format('D.M.')}`;
Для пояснения:
t
- это функция из библиотеки переводовкоторая возвратит локализованную строку. moment
- это библиотека дат, которая будет возвращать строковую форму объекта даты selectedTime
.
Это не важно, хотя,потому что ошибка в синтаксисе. Похоже, что функция перевода в первой интерполяции является проблемой. Линтер указывает предполагаемую пустую строку, которая находится между )}
после функции.
Я могу обойти эту проблему простоприсваивая значение функции перевода в переменную и включая ее в первую интерполяцию.Однако меня интересует, что вызывает эту проблему в первую очередь?