2015-12-09 4 views
0

Я создаю некоторые классы в моем приложении Meteor, используя LESS. (Бутстрап добавляется в Метеор через пакет метеоров twbs:bootstrap, вместо использования @import в МЕНЬШЕ).Можно ли наследовать из класса Bootstrap в LESS, используя Meteor?

К примеру, у меня есть класс с именем .btn-pill, который я хочу, чтобы наследовать от .btn-xs Bootstrap, как и это:

HTML

<button class="btn btn-pill"></button> 

МЕНЬШЕ

.btn-pill { 
    &:extend(.btn-xs); 
    color: @text-color; 
    background-color: @white; 
    border: 1px solid @gray-main; 
    &:hover { 
     background-color: @gray-light; 
    } 
} 

К сожалению, это Безразлично Кажется, что работает ... Конечно, я всегда мог использовать оба класса в теге <button>:

<button class="btn btn-xs btn-pill"></button> 

, но я предпочел бы избежать этого, если это возможно.

Можно ли использовать только &:extend в разных файлах (например, я понимаю, что это делается с @extend в SASS - например in this SO question)? Или это не работает, потому что Bootstrap реализован через пакет Meteor?

+1

Единственное существующее решение - https://atmospherejs.com/huttonr/bootstrap3. Как вы можете видеть здесь, https://github.com/huttonr/bootstrap3/blob/master/package.js, он использует новые возможности построения (Package.registerBuildPlugin), чтобы создать собственную версию бутстрапа. – Ser

+1

Невозможно использовать расширение для разных файлов. Но эти файлы должны явно включать в себя другие (через '@ import'), потому что иначе компилятор просто * не может * знать что-либо о наборах правил, которые вы пытаетесь расширить (т. Е. В вашем примере компилятор понятия не имеет, что такое .btn -xs', если вы не импортируете файлы Bootstrap. Точно так же, как в Q/A, с которым вы связались). –

+0

@ seven-phase-max Я думал, что так будет, но я не смог найти источник, который подтвердил это. Спасибо за это! Ser: Спасибо, я попробую! – McVenco

ответ

0

Как и в случае с Meteor v1.2, меньше файлов намного более управляемы.

Загрузите официальную загрузочную загрузку с меньшим распределением, поместите их в папку с именем imports. Это позволяет импортировать файлы, а не автоматически компилировать их.

Поместите файл bootstrap.less в папку более высокого уровня за пределами папки imports и исправьте пути папки импорта в соответствии с вашей собственной структурой.

Теперь вы можете использовать переменные по своему вкусу. Делайте с ними то, что обычно делает less.

Или, если вы застряли с более ранними версиями Meteor, вы можете использовать nemo64:bootstrap для настройки и использования импорта из начальной загрузки.

+0

Приложение, над которым я работаю, по-прежнему работает с более старой версией Meteor (обновление до версии v1.2 сломало некоторые вещи), но я также дам эту попытку ... – McVenco

+0

Я обновил свой ответ на аккаунт для этого –

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