tipos tag remove practices etiquetas crear best git gitignore bower

remove - git tag best practices



¿Deben ser ignorados los componentes de bower? (6)

¿Sería una buena práctica guardar solo el archivo bower.json y gitignore el directorio completo de bower_components ?


El archivo .gitignore en un proyecto Yeoman AngularJS recién generado tiene bower_components (y node_modules) enumerados para ser ignorados (si no sabes Yeoman, es una herramienta de andamiaje web muy confiable para webapps modernos, ¡así que es lo suficientemente bueno para mí!):

.gitignore

node_modules dist .tmp .sass-cache bower_components


El generador Yeoman llenó previamente el archivo .gitignore con bower_components, pero también se completó con otros directorios que creo que serían necesarios para una aplicación final (como www), así que investigué un poco.

Descubrí que www / index.html es una versión reducida de la aplicación / index.html. El directorio de la aplicación y su contenido (incluidos bower_components) contiene los archivos fuente necesarios para el directorio de salida (www). Usted confirma los directorios de origen en el control de código fuente (es decir, git) pero no en los archivos generados (es decir, www). Los gestores de paquetes como bower y npm están destinados a ser utilizados durante la fase de generación / generación y sus artefactos no están destinados a ser controlados en el control de fuente.

En última instancia, la fuente que ingresa en git es la configuración mínima necesaria para construir el resto del proyecto con fines de desarrollo o despliegue.


Es bueno ignorar /bower_components dir de los /bower_components y registrar solo los bower.json y bower.json bower-locker.bower.json si crea un archivo de bloqueo usando bower-locker escrito por Shawn Lonas .

Antes de que se creara el bower-locker, había una desventaja causada por un problema de bower que no tenía capacidad de envoltura, pero puede ser mitigada por la biblioteca anterior.

Ejecuta los siguientes comandos para lograrlo:

npm install bower-locker -g

o

yarn global add bower-locker

luego genere un archivo de bloqueo basado en el archivo existente bower.json ejecutando:

bower-locker lock

El archivo original bower.json cambiará de nombre a bower-locker.bower.json


Hay un tiempo y un lugar para ambos enfoques. Para Yeoman es apropiado confiar en bower.json porque es una herramienta en una cadena de herramientas y necesita permanecer vivo y respirando con el ecosistema de bower. En el caso de una aplicación web desplegable, generalmente es una buena práctica establecer dependencias y mantener un mayor control.

Aquí hay un buen artículo que me gusta que discute esto.


La página oficial de Bower declaró:

NB: si no está creando un paquete destinado a ser consumido por otros (p. Ej., Está creando una aplicación web), siempre debe comprobar los paquetes instalados en el control de código fuente .

Asegúrese de revisar el enlace en la cita, discute algunos pro y contras. El principal argumento que menciona es que comprobarlos garantiza que sus dependencias estén siempre disponibles, siempre que su repositorio esté disponible. No importa lo que le suceda a Bower, GitHub o cualquier otra cosa que se necesite de otra manera.


Si estás usando Grunt y Node con Bower, tiene sentido poner bower_components en tu .gitignore porque cuando ejecutas ronco serve o grunt build , se encarga de las dependencias por ti, estoy seguro de que en Yeoman lo agregan a el .gitignore