Как обновить и включить Twitter Bootstrap 3 в webapp или yo angular?

Я использовал yo webapp или yo angular для создания нового проекта, и я получил версию Bootstrap 2.3.2, но я хочу использовать последнюю версию Bootstrap.

Как я могу обновить пакет Bootstrap с помощью командной строки, а затем обновить его при создании нового веб-приложения или углового, выбрать «Включить Twitter Bootstrap — последняя версия»?


person Loc_rabbirt    schedule 24.08.2013    source источник
comment
Для всех, кто пытается использовать v3 с угловым генератором, проект только что был обновлен с его включением. Перейдите к этой проблеме и следуйте инструкциям.   -  person user1724490    schedule 08.11.2013


Ответы (3)


Генераторы webapp и angular от Yeoman захватывают Sass для Bootstrap, который основан на сборке 2.3.2 Twitter Bootstrap.

После запуска yo webapp или yo angular вы можете добавить Bootstrap 3.0, выполнив следующую команду.

$ bower install --save bootstrap

Это загрузит Bootstrap 3.0 для вас.

person micjamking    schedule 24.08.2013
comment
D:\Web Design\HTML-CSS\Bootstrap Test›bower install --save bootstrap bower cloning git://github.com/twbs/bootstrap.git C:\Users\TienLoc\AppData\Roaming\npm\node_modules\bower \node_modules\tmp\lib\tmp .js:260 выбросить ошибку; ^ Ошибка: порождать ENOENT в errnoException (child_process.js:980:11) в Process.ChildProcess._handle.onexit (child_process.js:771:34) ----------------- -------------------------------------------------- ------------------------------ Я получил ошибку при принудительном выполнении команды - person Loc_rabbirt; 25.08.2013
comment
Установлен ли Git и доступен ли он в вашем PATH? - person micjamking; 25.08.2013
comment
Я установил Git, но он недоступен в моем PATH, и я добавляю его в свой PATH, но не решаю проблемы. - person Loc_rabbirt; 25.08.2013
comment
Вы пробовали обновить Bower, npm update -g bower? Вы можете взглянуть на эту ветку в Github, похоже на то, что вы — это обычная проблема для некоторых пользователей с определенной настройкой git в Windows. Кроме того, ответ, который я дал выше, верен, и проблема, с которой вы столкнулись сейчас, отличается от оригинала, не могли бы вы отметить ее как правильную? - person micjamking; 25.08.2013
comment
Спасибо вам за помощь, но команда не устанавливает загрузку в папку приложения для моего, не меняйте файл или папку стиля, в любом случае вы помогаете исправить, и я отмечаю правильно - person Loc_rabbirt; 26.08.2013
comment
Я прочитал в гильдии bootstrap и команду: Bower install bootstrap работает, а bootstrap устанавливает в дереве: app -> bower_component -> bootstrap - person Loc_rabbirt; 26.08.2013
comment
Я думаю, вам также следует выполнить Bower install --save bootstrap-css для установки файлов bootstrap css - person Zouzias; 02.09.2015

Ответ @micjamking - действительно хороший совет, но, поскольку с Йоманом все должно быть проще, я сэкономлю вам время на гугление:

  1. yo angular - Скажите «Нет» Bootstrap здесь, иначе он загрузит версию 2.x
  2. bower install --save bootstrap
  3. npm install --save-dev grunt-bower-install
  4. редактировать Gruntfile.js - вставить отмеченные строки:

    // ...
    } catch (e) {}
    
    grunt.loadNpmTasks('grunt-bower-install');             // INSERT
    
    grunt.initConfig({
        yeoman: yeomanConfig,
        'bower-install': {                                 // INSERT BEGIN
            target: {                                      //   .
                html: '<%= yeoman.app %>/index.html',      //   .
                ignorePath: '<%= yeoman.app %>/'           //   .
            }                                              //   .
        },                                                 // INSERT END
        watch: {
            coffee: {
                files: ['<%= yeoman.app %>/scripts/{,*/}*.coffee'],
                tasks: ['coffee:dist']
    // ...
    
  5. отредактируйте app/index.html — вставьте:

    <!-- bower:css -->
    <!-- endbower -->
    

    и:

    <!-- bower:js -->
    <!-- endbower -->
    

    где это уместно - они будут вставлять ссылки на ресурсы, управляемые Bower (в нашем случае это таблица стилей начальной загрузки и JS).

    обновление от 05.10.2013: рассмотрите возможность размещения bower:xxx внутри build:xxx.
    В нашем случае bower:css внутри build:css и bower:js внутри build:js.
    Это необходимо для работы минификации при сборке dist. Однако я считаю этот подход не столь совершенным - см. примечания ниже. Я немного извиняюсь, так как это точно так же, как версия начальной загрузки, полученная Yeoman по умолчанию, включается в наше приложение: -P
    Примечание: Чтобы заставить работать минимизацию css, вы можете нужно изменить build:css(.tmp) на build:css({.tmp,app}).

  6. grunt bower-install

Готовый. Теперь запустите сервер (grunt server) и Bootstrap 3 будет доступен.


Примечания — обновление от 05.10.2013 — вдохновлено вопросом @Luke в комментарии:

Основываясь на этом, я добавил один подэтап, чтобы dist минификация работала.

Инъекция Бауэра работает, так же как и минимизация, однако я не очень доволен этим подходом.
Причины:

  1. [minor] Мы не используем уже минифицированные ресурсы, полученные Bower.
  2. Сокращение ВСЕХ видов CSS/JS в ОДИН файл — довольно хромая идея. Лучшим способом включения внешних зависимостей в ваше приложение было бы переключение между CDN-fetch (dist) и локальными копиями, полученными с помощью Bower (dev). Sth, как профили maven.
  3. В зависимости от размера приложения загрузка ресурсов «все в одном», особенно JavaScript, замедлит первое знакомство с нашим приложением.
    Позже остальная часть приложения будет загружаться быстрее, правда, но при первом входе пользователя в наш страницы эти громоздкие однофайловые файлы должны быть предварительно загружены.

@yao tony тоже не нашел такой подход крутым - см. упомянутый вопрос.

Обновление от ноября 2013 г. Вы можете использовать задачу cdnify от grunt. Это круто


Версии программного обеспечения, которые я использовал:

user@machine:~/somewhere $ yo -v; grunt --version; bower -v
1.0.4
grunt-cli v0.1.9
grunt v0.4.1
1.2.6
person vucalur    schedule 26.09.2013
comment
Это меня полностью выручило. Однако один вопрос: как заставить его вместо этого поместить туда версию *.min.{css|js}? Особенно полезно во время сборки ворчания. - person Luke; 04.10.2013
comment
Хороший вопрос @Luke. Я нашел обходной путь, но я не горжусь этим. Смотрите мой обновленный ответ. - person vucalur; 05.10.2013
comment
Оооочень много для того, чтобы сделать Bower Yeoman проще. Попробовал это сегодня, и, в конце концов, у меня не было ответа bootstrap3 @micjamking. - person boatcoder; 17.11.2013
comment
ошибка bower-install.app.src отсутствует - похоже, они изменили конфигурацию github.com/stephenplusplus/grunt -bower-install, добавьте src: ['‹%= yeoman.app %›/index.html'] после (или вместо) html: '‹&= - person joeriks; 05.01.2014
comment
@joeriks: Мой ответ был полезен несколько месяцев назад. Прямо сейчас generator-webapp (generator-angular полагается на него) создает проект со всеми этими конфигурациями, настроенными из коробки (grunt-bower-install настроенный (но не установленный), boostrap3 под управлением Bower), поэтому лучше просто сказать «Да», когда хотите включить Twitter Bootstrap? вылезает вопрос. Убедитесь, что вы используете новейшие версии yo и generator-angular. - person vucalur; 05.01.2014

Для обновления sass Bootstrap:

Это работает для меня:

bower install angular-bootstrap
bower install sass-bootstrap

и выберите новые версии обоих...

может стоит добавить --save

Примечание. sass-bootstrap устарел, теперь он является официальной беседкой для sass-версии бутстрапа https://github.com/twbs/bootstrap-sass, но я не пробовал.

person Sarabadu    schedule 13.02.2014