Apresentamos uma tradução de um artigo da Aditya Modi publicado em blog.bitsrc.io. Este artigo é sobre o uso do jQuery em aplicativos angulares.

Com pouca frequência, pego algo com cautela. No entanto, desta vez, a cautela não será prejudicial, pois a integração do jQuery no Angular não é tão simples.
Por que, de fato, eu escrevi este artigo? Às vezes, o jQuery é realmente necessário para o desenvolvimento no Angular, no entanto, essas estruturas JavaScript são extremamente raramente associadas a esta biblioteca. A Angular é responsável por renderizar e gerenciar o DOM e, se você fizer alterações no jQuery, corre o risco de obter um resultado extremamente inesperado.
Dica : Usando
Bit , você pode compartilhar rapidamente componentes Angular e reutilizá-los em seus aplicativos. Isso permitirá que você e sua equipe gastem menos tempo criando novos aplicativos. Experimente.

Seja como for, em algumas situações, a interferência com a estrutura é necessária, justificada, pode ser uma saída real. Esses casos não são abordados no meu blog, no entanto, talvez eu fale sobre eles nos próximos artigos. Agora, deixe-me mostrar como adicionar a biblioteca jQuery ao Angular. Neste tutorial, usarei o VS Code. Você pode escolher outro editor de código ou baixar o
Visual Studio Code para Windows, Linux e macOS .
Integração JQuery em Angular
Primeiro de tudo, precisamos criar um aplicativo Angular usando o comando
ng new
. Em seguida, com a ajuda do
cd
para a pasta em que a biblioteca jQuery será instalada através do npm. Vamos chamar o aplicativo resultante
angularmeetsjquery
.
ng new angularmeetsjquery cd angularmeetsjquery npm install jquery — save
Parece ótimo, mas o purista do jQuery prefere fazer o download via CDN do jQuery, em vez do npm. CDN é uma maneira alternativa de adicionar uma biblioteca jQuery a um aplicativo Angular, mas eu prefiro usar o método npm. Se você consultar
https://jquery.com/download/ , encontrará as bibliotecas jQuery CDN e outras redes CDN do Google, Microsoft, CDNJS e jsDelivr. Eu recomendaria a versão oficial mais recente da CDN, pois ela suporta o mecanismo SRI (Subresource Integrity).
Para usar a CDN do jQuery, basta criar um link para o arquivo na tag de
script
diretamente do domínio da CDN do jQuery. O código com a função Integridade do sub-recurso terá esta aparência. (Como você pode ver, estou usando a biblioteca jQuery versão 3.3.1.)
<script src=”https:
O script pode ser copiado do recurso code.jquery.com. Em seguida, você precisa inseri-lo no arquivo
index.html
no final da tag <
body
>.
Tornando a biblioteca jQuery global
O arquivo
jquery.min.js
, localizado na pasta dis do módulo jQuery, não é público (o nome correto da pasta é dist. -
Aprox. Ed. ). Para tornar a biblioteca jQuery global, acesse o arquivo
.angular-cli.json
e escreva nele um link para o caminho para o arquivo jQuery.
Ao transferir um link para um caminho de arquivo dentro de um aplicativo Angular, a pasta raiz é src. No entanto, a biblioteca jQuery está dentro do diretório
node_modules
. Portanto, você precisa determinar o caminho correto para o
.angular-cli.json
.
../node_modules/jquery/dist/jquery.min.js
Para garantir que o caminho esteja correto, acesse o
node_modules→jquery→dist→jquery.min.js
. Aqui você pode ver o caminho especificado, o que significa que a biblioteca jQuery foi adicionada globalmente para este aplicativo. Não espere que a página localhost: 4200 no seu navegador seja recarregada, porque o arquivo está localizado fora da pasta src. Para que as alterações apareçam no aplicativo, você precisará reiniciá-lo.
ng serve –open
Usando jQuery em um aplicativo angular
Para começar a usar a biblioteca jQuery com a estrutura Angular, você precisa acessar os componentes do aplicativo. Mostrarei como essas duas tecnologias podem funcionar em conjunto com um simples elemento HTML de
button
. Mas primeiro, exclua todas as linhas de código no arquivo
app.component.html
e adicione o elemento HTML do
button
.
<button> Click me </button>
A página será recarregada automaticamente e um botão aparecerá.

Precisamos definir o caractere para jQuery no arquivo
app.component.ts
.
declare var $: any;
Em seguida, insira o gancho do ciclo de vida do
ngOnInit
. Para fazer isso, você pode importar o OnInit do Angular Core.
import { Component, OnInit} from '@angular/core';
Adicione
ngOnInit
.
export class AppComponent implements OnInit {
Independentemente da disponibilidade do DOM, você pode escrever o código jQuery dentro do método
ngOnInit
, como é feito no desenvolvimento padrão de aplicativos da web. Para testar o botão criado em
app.component.html
, adicione o evento
button.click
ao método
button.click
.
export class AppComponent implements OnInit { ngOnInit(){ $('button').click(function(){ alert('Wass up!'); }); } }
Se você clicar no botão, “Wass Up” aparecerá.
Conclusão
Adicionar jQuery ao Angular e usar esse pacote é uma idéia duvidosa.
Sim, à primeira vista, o método parece simples. No entanto, como eu disse no começo do artigo, por mais tentador que pareça o uso conjunto dessas duas tecnologias, a ideia geralmente acaba sendo ruim. Nos aplicativos Angular do mundo real, você precisa lidar com coisas muito mais complexas do que o elemento do
button
HTML relacionado ao evento. Meu conselho a todos
que trabalham com a Angular e procuram uma oportunidade de incorporar o jQuery no código TypeScript: se não for necessário, não. Desejo-lhe experiências bem-sucedidas no campo do jQuery e Angular!