DEV Community

Allef Gomes
Allef Gomes

Posted on • Originally published at allefgomes.com

Adicionando Boostrap 5 em um projeto Phoenix

Olá, pessoas!

Normalmente quando se fala de aplicação phoenix, se fala também de tailwindcss, mas nem todo mundo tem familiaridade com o tailwindcss. Por outro lado, existem muitas aplicações web que usam o bootstrap. Então a ideia desse tutorial é demostrar como aplicar o bootstrap nas suas aplicações phoenix de maneira rápida.

Para utilizarmos o boostrap, faremos a utilização da lib dart_sass que é um instalador e "executor" para sass.

Então vamos lá... No seu arquivo mix.exs na função privada deps, adicione a seguinte linha:

{:dart_sass, "~> 0.5.1"}
Enter fullscreen mode Exit fullscreen mode

No arquivo config/config.exs adicione o código para adicionar as configurações do dart_sass:

config :dart_sass,
  version: "1.43.1",
  default: [
    args: ~w(css/app.scss ../priv/static/assets/app.css),
    cd: Path.expand("../assets", __DIR__)
  ]
Enter fullscreen mode Exit fullscreen mode

Na parte de watchers no arquivo config/dev.exs iremos adicionar o seguinte código para que nossa aplicação phoenix possa assistir os arquivos sass:

sass: {
      DartSass,
      :install_and_run,
      [:default, ~w(--embed-source-map --source-map-urls=absolute --watch)]
    }
Enter fullscreen mode Exit fullscreen mode

Também no arquivo mix.exs iremos alterar os aliases. Na parte chamada assets.deploy iremos adicionar o código "sass default --no-source-map --style=compressed" onde ficará semelhante ao código abaixo:

"assets.deploy": ["esbuild default --minify", "sass default --no-source-map --style=compressed", "phx.digest"]
Enter fullscreen mode Exit fullscreen mode

Para finalizar, faremos mais três alterações na pasta assets. A primeira é rodar o comando npm install boostrap --prefix assets pelo terminal na pasta do seu projeto e após isso, renomear o arquivo assets/css/app.css para assets/css/app.scss e apagar todo o conteúdo do arquivo e adicionar o código

@import "../node_modules/bootstrap/scss/bootstrap";
Enter fullscreen mode Exit fullscreen mode

Por fim, iremos remover o código import "../css/app.css" do arquivo assets/js/app.js e adicionar o

import "bootstrap"
Enter fullscreen mode Exit fullscreen mode

Agora você pode subir a aplicação e ver que toda a sua tela inicial foi alterada.

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay