2016-04-18 4 views
0

У меня странная проблема с использованием JADE с рендерингом на стороне сервера.Jade - Неожиданный токен ILLEGAL on включает

SyntaxError: C:\Users\{me}\WebstormProjects\evoliance\views\mixins\widget-container.jade:2 
    1| include ./widget-container-singleton 
> 2| include ./widget-container-tilelist 
    3| include ./widget-container-linelist 
    4| 
    5| mixin widgetContainer(display, type, data) 

Я обнаружил, что удаление включить в виджет контейнера-TileList файл также удалить эту ошибку:

include ./tilelist/links 

mixin widgetContainer_tileList(type, data) 
    if(type == 'links') 
     +widgetContainer_tileListLinks(data) 

Но что более странным является тот факт, что подобный импорт не причина ошибка:

include ./singleton/descriptors 

mixin widgetContainer_singleton(type, data) 
    if(type == 'descriptors') 
     +widgetContainer_singletonDescriptors(data) 

Здесь целевая включает, не кажется проблематичным:

mixin widgetContainer_tileListLinks(data) 
    if(data && data.length > 0) 
     #component-tilelist-links 
      each link in data 
       a.tile-link(href=#{link.url}) #{link.title} 

Благодарим за помощь!

ответ

1

Вы пытаетесь интерполировать значение в атрибуте href в mixin, вызывая ошибку. Его следует просто присвоить имуществу link.url.

mixin widgetContainer_tileListLinks(data) 
    if(data && data.length > 0) 
     #component-tilelist-links 
      each link in data 
       a.tile-link(href=link.url) #{link.title} 
+0

Большое спасибо! Мне все еще неловко отличается разница между использованием * интерполяции * (для строки). Я буду смотреть на эту тему. – OhmWang

Смежные вопросы