example bootstrap twitter-bootstrap gruntjs package-managers bower

twitter-bootstrap - example - tooltip bootstrap css



¿Cómo hacer que Bower construya el paquete? (3)

Construir en la instalación es un antipatrón y se recomienda encarecidamente en Nodo. Al igual que Node, los paquetes Bower deben ser pre-construidos. Esto se debe a que el usuario final no debería tener que preocuparse de qué preprocesador o sistema de compilación requiere un paquete.

Sus mejores opciones son convencer al autor para que realice una compilación previa, crear un fork y hacerlo usted mismo, o compilarlo manualmente después de haber instalado el componente.

El equipo de Bower planea agregar la capacidad de publicar paquetes en un servidor similar a como funciona en npm. Esto lo hará mucho mejor para los paquetes que necesitan un paso de compilación.

¿Hay alguna manera de hacer que Bower ejecute un gruñido después de que fue clonado desde GitHub?

Estoy tratando de usar Bower, pero uno de los paquetes que estoy usando es la extensión Bootstrap, x-editable. El problema es que, mientras que otros paquetes envían una versión totalmente construida a github, de modo que cuando Bower lo instala, tiene una versión construida editable en x que espera que ejecute un archivo grunt para compilar el paquete.

Esa es una práctica común en otros gestores de paquetes como npm, pero podría encontrar cómo hacer que Bower lo compile en la instalación. Lo que significa que necesito otro mecanismo para completar la instalación del paquete.


Hay 3 ganchos en Bower. Postinstall puede resolver su problema si, por alguna razón, no puede hacerlo previamente, como lo señala @Sindre Sorhus.

En .bowerrc hacer:

{ "scripts": { "preinstall": "<your command here>", "postinstall": "<your command here>", "preuninstall": "<your command here>" } }

fuente https://github.com/bower/bower/blob/master/HOOKS.md


Podrías usar compositor para manejar postinstalación:

bower.json

{ "dependencies": { "bootstrap": "*" } }

compositor.json:

{ "scripts" : { "post-install-cmd" : [ "bower install --no-color", "lessc bower_components/bootstrap/less/bootstrap.less public/script/bootstrap.css" ] } }

Luego ejecuto la composer install :

Loading composer repositories with package information Installing dependencies (including require-dev) Nothing to install or update Generating autoload files bower warn Package bootstrap is still using the deprecated "component.json" file bower cloning git://github.com/twitter/bootstrap.git bower cached git://github.com/twitter/bootstrap.git bower fetching bootstrap bower checking out bootstrap#v2.3.2 bower warn Package jquery is still using the deprecated "component.json" file bower copying C:/Users/renadm/AppData/Roaming/bower/cache/bootstrap/9d49e0aedf207bebd028e26cc86a9e58 bower cloning git://github.com/components/jquery.git bower cached git://github.com/components/jquery.git bower fetching jquery bower checking out jquery#1.8.3 bower copying C:/Users/renadm/AppData/Roaming/bower/cache/jquery/29cb4373d29144ca260ac7c3997f4381 bower installing bootstrap#2.3.2 bower installing jquery#1.8.3

Una vez que Bower termina de instalarse, el compilador LESS procesa los archivos .less y coloca un buen bootstrap.css en mi carpeta pública. Se podría hacer algo similar para los archivos JavaScript con Closure Compiler.