@edusites/bancos-brasil

中文文档
1.3.0发布于 2026/10/19MITES Module零依赖近 30 天下载 4079

Biblioteca JavaScript para renderizar ícones SVG de bancos brasileiros

原始使用文档
文档目录12 节
  1. Instalação
  2. Uso
  3. Nuxt (recomendado: o módulo)
  4. Vite (Vue, React, Svelte...)
  5. Vue 3
  6. JavaScript puro
  7. React
  8. Svelte
  9. Parâmetros
  10. Bancos Disponíveis
  11. Formatos
  12. Licença

@edusites/bancos-brasil

NPM Version License: MIT

Biblioteca JavaScript para renderizar ícones SVG de bancos brasileiros com total customização.

Instalação

npm install @edusites/bancos-brasil
yarn add @edusites/bancos-brasil
pnpm add @edusites/bancos-brasil

Uso

O navegador baixa só os bancos que aparecem na tela: cada banco é um arquivo próprio, carregado sob demanda. No servidor (Node, SSR) tudo resolve na hora.

Nuxt (recomendado: o módulo)

Uma linha no nuxt.config registra <SvgBanco> no app inteiro e faz o build levar só os bancos que o site usa:

// nuxt.config.ts
export default defineNuxtConfig({
  modules: ['@edusites/bancos-brasil/nuxt-module']
})

O módulo acha os bancos procurando os nomes entre aspas no código (nome="nubank", { banco: 'itau' }). Nome montado em tempo de execução não aparece no código: liste em incluir.

export default defineNuxtConfig({
  modules: ['@edusites/bancos-brasil/nuxt-module'],
  edusitesBancos: { incluir: ['cora', 'picpay'] }
})
<template>
  <SvgBanco nome="nubank" />
  <SvgBanco nome="cora" formato="circulo" />
  <SvgBanco nome="itau" cor="#FFFFFF" fundo="#EC7000" :tamanho="96" />
</template>

Com SSR o SVG sai no HTML do servidor e o navegador reaproveita o que já está na tela (não baixa de novo nem pisca).

Sem o módulo (só o componente, via plugin)

plugins/bancos.js:

import { instalarBancos } from '@edusites/bancos-brasil/nuxt'

export default defineNuxtPlugin((nuxtApp) => {
  instalarBancos(nuxtApp)
})

Funciona igual na tela, mas o build gera um arquivo por banco da lib (o visitante só baixa os usados; os demais o Nuxt deixa como prefetch).

Vite (Vue, React, Svelte...)

Para o build levar só os bancos usados, adicione o plugin:

// vite.config.js
import { edusitesBancosVite } from '@edusites/bancos-brasil/vite'

export default {
  plugins: [edusitesBancosVite({ incluir: ['cora'] })]
}

Vue 3

import { SvgBanco } from '@edusites/bancos-brasil'
<SvgBanco nome="nubank" />
<SvgBanco nome="cora" formato="circulo" />

JavaScript puro

import { svgBanco } from '@edusites/bancos-brasil/core'

// Com preset (configuração padrão)
const svg = await svgBanco({ nome: 'nubank' })
document.getElementById('app').innerHTML = svg

// Customizado
const outro = await svgBanco({
  nome: 'cora',
  formato: 'circulo',
  cor: '#FFFFFF',
  fundo: '#FE3E6D',
  tamanho: 96
})

svgBanco devolve a string na hora quando o banco já está em memória (sempre no servidor) e, no navegador, uma Promise enquanto baixa o arquivo daquele banco. Com await funciona nos dois casos. Também existem svgBancoAsync (sempre Promise) e svgBancoSync (string ou null, nunca Promise).

@edusites/bancos-brasil/core não depende de Vue; a entrada principal também exporta o componente Vue.

React

import { svgBancoAsync } from '@edusites/bancos-brasil/core'
import { useEffect, useState } from 'react'

function BancoIcon({ nome, formato, cor, fundo, tamanho }) {
  const [svg, setSvg] = useState('')

  useEffect(() => {
    let ativo = true
    svgBancoAsync({ nome, formato, cor, fundo, tamanho }).then((s) => ativo && setSvg(s || ''))
    return () => (ativo = false)
  }, [nome, formato, cor, fundo, tamanho])

  return <div dangerouslySetInnerHTML={{ __html: svg }} />
}

export default function App() {
  return (
    <div>
      <BancoIcon nome="nubank" />
      <BancoIcon nome="cora" formato="circulo" />
      <BancoIcon nome="itau" cor="#FFFFFF" fundo="#EC7000" tamanho={96} />
    </div>
  )
}

Svelte

<script>
  import { svgBancoAsync } from '@edusites/bancos-brasil/core'

  export let nome
  export let formato = undefined
  export let cor = undefined
  export let fundo = undefined
  export let tamanho = undefined

  let svg = ''

  $: svgBancoAsync({ nome, formato, cor, fundo, tamanho }).then((s) => (svg = s || ''))
</script>

{@html svg}

Parâmetros

PropriedadeTipoObrigatórioPadrãoDescrição
nomestring✅ Sim-Nome do banco
formatostring❌ Não"quadrado""quadrado", "circulo" ou "sem"
corstring❌ NãoPresetCor do ícone (hex)
fundostring❌ NãoPresetCor de fundo (hex)
tamanhonumber❌ Não64Tamanho em pixels
classNamestring❌ Não-Classe CSS

Bancos Disponíveis

NomeCor ÍconeCor Fundo
agibank#FFFFFF#0133B0
asaas#FFFFFF#0036E1
avenue#FFFFFF#002820
bancodobrasil#FFDD00#003D7A
bmg#FFFFFF#F26321
bradesco#FFFFFF#CC092F
bs2#FFFFFF#0021AF
btg#FFFFFF#001E62
bv#223AD2#FFFFFF
c6#FFFFFF#121212
caixa#FFFFFF#0066A1
cora#FFFFFF#FE3E6D
digio#FFFFFF#00275C
efibank#F37025#000000
infinitepay#7DDB13#171527
inter#FFFFFF#FF7A00
itau#FFFFFF#EC7000
iugu#000000#FFFFFF
mercadopago#0A0080#00BCFF
mercantil#FFFFFF#1526FF
neon#01C4E0#161C3E
next#000000#00FF5F
ngcash#FFFFFF#000000
nomad#000000#FFCE04
nubank#FFFFFF#820AD1
original#FFFFFF#00A857
pagbank#000000#42A936
pan#414141#FFFFFF
paypal#222D65#FFFFFF
picpay#FFFFFF#21C25E
revolut#FFFFFF#000000
rico#FF5200#010042
safra#C3AC6C#151D43
santander#FFFFFF#EC0000
sicoob#B8D335#003B43
sicredi#3DAE2B#FFFFFF
stone#00A868#FFFFFF
stripe#FFFFFF#635BFF
ton#FFFFFF#0DEA4A
wise#163300#9FE870
xp#000000#FFFFFF

Formatos

  • quadrado - Quadrado com bordas arredondadas (padrão)
  • circulo - Circular
  • sem - Sem fundo, apenas o ícone

Licença

MIT © Lecdt.com


Desenvolvido por @edusites na Lecdt.com

版本与发布记录

@edusites/bancos-brasil 共发布 13 个版本,首次发布于 2026/01/02;过去 12 个月发布了 13 个版本。

版本发布日期距今
1.3.0latest2026/10/1925 天前
1.2.02026/05/036 个月前
1.1.02026/01/0710 个月前
1.0.92026/01/0710 个月前
1.0.82026/01/0210 个月前
1.0.72026/01/0210 个月前

关于 @edusites/bancos-brasil 的常见问题

@edusites/bancos-brasil 是什么?

Biblioteca JavaScript para renderizar ícones SVG de bancos brasileiros

如何安装 @edusites/bancos-brasil?

在项目目录运行 npm install @edusites/bancos-brasil,或使用 pnpm add / yarn add / bun add。

@edusites/bancos-brasil 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/edusites__bancos-brasil 是否存在。

@edusites/bancos-brasil 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@edusites/bancos-brasil 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=16.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@edusites/bancos-brasil 可以商用吗?

@edusites/bancos-brasil 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@edusites/bancos-brasil 的下载量有多少?

根据 npm 官方下载统计,@edusites/bancos-brasil 在 2026/10/13 – 2026/11/11 这 30 天内被下载 4,079 次,日均约 136 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@edusites/bancos-brasil 还在维护吗?

最新版本 1.3.0 发布于 2026/10/19(25 天前);至今共发布 13 个版本,其中过去 12 个月发布了 13 个;首次发布于 2026/01/02。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。