Lazaro Fernandes Lima Suleiman

Lazaro Fernandes Lima Suleiman

head of technology at @Hondana

Sobrescrevendo dependências no Bower

Essa é uma dica rápida para quem esta começando a gerenciar suas dependências com bower.

Recentemente tive a necessidade de injetar automaticamente algumas dependências com o bower utilizando o gulp-inject e tive problemas com o path resultante de uma delas no ambiente de deploy no Azure.

O pacote em questão era o materialize, e o css que estava sendo injetado no HTML estava localizado em bower_components\materialize\bin\..., o arquivo simplesmente não era carregado pelo browser devido a algum bloqueio do Azure em conteúdo dentro de quaisquer pastas \bin

O meu objetivo era substituir o arquivo principal por outro arquivo localizado também dentro na pasta da dependência, mas fora do bin, localizado em /bower_components/materialize/dist/css/materialize.min.css"

Sobrescrevendo a dependência:

1
2
3
4
5
6
7
8
"dependencies": {
"materialize": "~0.97.5"
},
"overrides": {
"materialize": {
"main": ["dist/css/materialize.min.css", "dist/css/materialize.min.css", "dist/js/materialize.js"]
}
}

É isso pessoal, com esse override o gulp-inject utilizou outro arquivo dentro da dependência e resolveu o problema em questão.

Outra coisa, quando forem publicar um pacote no bower sempre utilizem uma pasta \dist ou algo do tipo para evitar problemas com palavras reservadas e bloqueios em servidores.

Outras alternativas

Concatenar todas as dependências gerando um único bundle usando gulp-concat ou algo do tipo, recomendo fortemente essa abordagem por questões de otimização e organização.

É isso pessoal,

[]s

Comments