Se você está utilizando o Angular e trabalhando com Buffer, certamente você já se deparou com esse erro em seu console.
core.js:6014 ERROR Error: Uncaught (in promise): ReferenceError: Buffer is not defined
ReferenceError: Buffer is not defined
Esse erro significa que o seu Angular não conhece a implementação de Buffer. Mas como resolver isso?
Como resolver: Buffer is not defined?
Para solucionar esse problema, você precisa instalar o pacote do Node.js Buffer via npm ou yarn
npm install --save buffer
Depois disso, vamos configurar “adicionar” a funcionalidade no objeto window para que ele funcione no Angular da mesma forma que funciona no Node.js.
Para isso, vamos alterar o arquivo polyfills.ts
:
import * as buffer from 'buffer'; (window as any).Buffer = buffer;
Pronto!
Dica:
Se você não quiser utiliza-lo como se fosse “nativo”, apenas importe normalmente no seu componente, dessa forma:
import { Buffer} from 'buffer';
Dica 2:
Isso não acontece só no Angular. Você pode usar essa dica para trabalhar com scripts em páginas da web ou em algum projeto que usa Typescript, assim como o Angular.
E aí, funcionou para você? Conta aí embaixo quais as outras formas você resolveria essa situação?
Abração e até a próxima!
Perfeito, resolveu meu problema na primeira pesquisa !
Que bacana Dener! Fico muito feliz em pode ajudar 🙂
Grande abraço.