Import npm Modules: Node.js Development
Descrição da aula
When you install Node.js, you also get npm. npm is a package manager that allows you to install and use third-party npm libraries in your code. This opens up a world of possibilities, as there are npm packages for everything from email sending to file uploading. In this lesson, you’ll learn how to integrate npm into your Node.js app.
Saiba mais sobre o curso completo
The Complete Node.js Developer Course (3rd Edition)
Learn Node.js by building real-world applications with Node JS, Express, MongoDB, Jest, and more!
35:03:06 de vídeo sob demanda • Atualizado em Março 2021
Completely refilmed for 3rd edition
Build, test, and launch Node apps
Create Express web servers and APIs
Store data with Mongoose and MongoDB
Use cutting-edge ES6/ES7 JavaScript
Deploy your Node apps to production
Create real-time web apps with SocketIO
Português [Automático]
Agora você sabe como usar o sistema de módulo do nó para carregar módulos do nó principal, como o módulo do sistema de arquivos e outros arquivos criados como notas Doc Js neste vídeo. Você aprenderá como usar o sistema de módulos para carregar pacotes NPM. Isso nos permitirá tirar proveito de todos esses módulos impressionantes do NPM, diretamente dentro de nossos aplicativos de nó. Há uma quantidade infinita de pacotes NPM úteis incríveis que podemos instalar, para que não tenhamos de recriar a roda do zero. Há coisas que praticamente todas as aplicações existentes precisam fazer. Os exemplos seriam validar dados como emails e talvez até enviar um email. Essas são as principais funcionalidades não específicas para o que seu aplicativo faz para seus usuários. Portanto, se usarmos os módulos NPM para resolver problemas comuns, que é de fato o padrão na comunidade de nós, poderemos gastar nosso tempo de desenvolvedor focando nos recursos impressionantes que tornam nosso aplicativo único. Então, como mencionei um pouco antes na classe, quando instalamos o nó, também instalamos o programa NPM em nossa máquina. Isso nos dá acesso a tudo no NPM J S dot com, sobre o qual voltaremos em apenas alguns momentos. Agora, antes que possamos realmente usar qualquer um desses módulos em nosso script, precisamos executar duas etapas muito importantes. Um temos que inicializar o NPM em nosso projeto e dois temos que instalar todos os módulos que realmente queremos usar. Então, vamos em frente e ver como isso acontece. Primeiro, vamos inicializar o NPM em nosso projeto, o que significa que precisamos executar um único comando a partir da raiz do projeto, que o diretório raiz é a pasta do aplicativo notes. Portanto, verifique se você está executando comandos de lá no terminal abaixo. Na verdade, estou acessando esse diretório. Agora, quando instalamos o nó pela primeira vez, obtivemos a versão do nó que estávamos usando, usando o comando node com o sinalizador V quando instalamos o nó. Também tivemos acesso às ferramentas de linha de comando do NPM. Podemos executar isso com o sinalizador V para obter a versão do NPM em execução. E bem aqui você pode ver que estou executando a versão seis, ponto quatro, ponto um. Agora, a versão específica do NPM que você está usando não importa, desde que você esteja usando a versão 5 ou superior. Portanto, contanto que o primeiro número seja 5 ou superior, é recomendável que você vá agora a partir daqui. Temos que inicializar o NPM em nosso projeto e fazemos isso executando um único comando a partir da raiz do NPM do projeto. Este comando inicializará o NPM em nosso projeto e, no final do dia, não fará nada sofisticado. Simplesmente, criaremos um único arquivo de configuração que podemos usar para gerenciar todas as dependências do site do NPM que queremos instalar. Então, aqui mesmo, vamos executar o NPM nele. Agora, há muitas informações nos dizendo exatamente o que está acontecendo no final do dia. O que realmente está acontecendo é que o NPM está solicitando algumas informações para preencher vários campos nesse arquivo de configuração. Agora podemos digitar respostas personalizadas. Por exemplo, a primeira informação que ele deseja é apenas um nome para o nosso pacote. Então, algum tipo de nome para este projeto. Agora, por padrão, ele usa o aplicativo de anotações do nome da pasta. Podemos optar por usá-lo apenas pressionando Enter ou podemos digitar algo personalizado para substituir esse valor para cada pergunta que ele fizer. Vamos manter o valor padrão para termos o nome do pacote. Eu só vou apertar enter. Temos uma versão que temos descrição command point test command obter palavras-chave do repositório autor e licença. Agora, existem alguns desses campos que exploraremos em detalhes posteriormente. Falaremos sobre testes quando explorarmos os testes e sobre o repositório get. Quando configuramos a implantação, muitos desses campos são para pessoas que estão criando pacotes NPM, o que não é o que estamos fazendo. Estamos criando um aplicativo por conta própria e estamos tentando consumir pacotes NPM para que os valores de muitos deles não sejam importantes para nossos propósitos aqui. Nós podemos pressionar enter nesse último e ele está nos perguntando se as coisas estão bem agora, o que exatamente está fazendo bem, nos diz que está prestes a escrever um Jason File com ponto de pacote no diretório do aplicativo de notas abaixo. Se esse é o conteúdo exato, ele está prestes a gravar nesse arquivo. Tudo parece bem. Podemos digitar yes para confirmar que queremos que o NPM realmente crie esse arquivo e agora temos um novo arquivo em nossa rota de projeto. Se eu abrir, podemos ver que o NPM prometeu. Parece exatamente com o que produzimos no terminal abaixo. A extensão para este arquivo é Jason, que significa uma notação de objeto javascript e, como você pode ver, parece um pouco com um objeto javascript. Existem algumas diferenças sutis que exploraremos ao usar Jason durante toda a aula. É algo que abordaremos detalhadamente, por enquanto, tudo o que você realmente precisa saber é que você deve usar aspas duplas em vez de aspas simples e todos os nomes de propriedades como nome ou autor. Eles também precisam ser colocados entre aspas, como estamos vendo aqui. Se eu remover as aspas de um de nossos nomes de propriedades, como licença, isso seria válido em javascript, mas podemos ver que é inválido em Jason. Então, vamos em frente e traga de volta. Agora, esse arquivo será usado para gerenciar todas as dependências que nosso aplicativo precisa executar. Então, aqui vamos listar todos os pacotes do NPM que queremos usar para começar, vamos em frente e vamos para o NPM J ask. com e encontre um pacote com o qual realmente queremos trabalhar. Agora, neste exemplo, instalaremos o pacote validador muito popular, que nos oferece todo tipo de ferramentas incríveis para realizar a validação de dados. Então, aqui na barra de pesquisa do NPM, vou procurar pelo validador e estamos procurando pelo primeiro resultado. O pacote validador. Agora existem outros pacotes de validação por aí. Há até um com um V. maiúsculo Queremos esse primeiro resultado, validador em minúsculas. Agora, quando clicarmos, isso nos levará à página do pacote NPM. Esta é uma ótima página para cada pacote do NPM e fornece uma tonelada de informações sobre o pacote. Temos a documentação de como realmente usá-lo. E no lado direito, temos um monte de ótimas estatísticas sobre o pacote. Coisas como o número da versão que eles recebem na página inicial do hub e os downloads semanais. Este é um pacote muito popular com mais de um milhão de downloads semanais. Portanto, se você deseja realizar uma pequena validação no seu aplicativo de anotações, há duas maneiras de fazer isso. A primeira abordagem seria escrever você mesmo todo o código de validação. Você precisa escrever o código para mantê-lo. Você vai querer escrever casos de teste para garantir que não haja casos extremos. E, em geral, você precisará acompanhar esse código à medida que o nó progride ao longo do tempo. Agora essa é a opção 1. Agora, quando você está criando um aplicativo, duvido que a validação seja o que o torna único. Portanto, se estou criando um aplicativo de perda de peso como exemplo, provavelmente tenho algum tipo de razão para fazê-lo. Eu tenho um modelo sobre dieta ou exercício ou hábitos que ajudarão as pessoas a perder peso de uma maneira que não eram capazes antes. O que torna meu aplicativo exclusivo provavelmente não é como ele valida e-mails. Portanto, você pode escrever esse código, mas é uma prática muito melhor para muitos desses recursos básicos tirar proveito de um pacote NPM bem testado como este, onde milhões de aplicativos e utilitários diferentes estão aproveitando o tempo todo. Agora isso não quer dizer que não vamos escrever código. Mas, para algumas coisas, tiraremos proveito de outros pacotes que nos permitem fazer isso de uma maneira muito mais segura. Portanto, neste caso, o pacote validador possui todo tipo de ferramentas para validar emails. Vocês são os números de telefone de L, números de previdência social, cartões de crédito e outros tipos de informações de sequência como essa. Vamos em frente e instalá-lo e ver como ele funciona. Agora, o que vamos fazer é anotar o nome do pacote, porque isso é essencial. Você pode realmente ver um comando aqui que podemos executá-lo para instalá-lo aqui em minúsculas, o validador é o nome do pacote que precisamos e iremos para o terminal e instalá-lo. Agora queremos executar o comando que estamos prestes a executar novamente no diretório do aplicativo notes aqui. Esse é o npm install validator. Agora você notará no site que eles usaram o validador NPM I. Aqueles são idênticos. Eu sou apenas um atalho para instalar. Você é mais que bem-vindo ao usar qualquer uma dessas abordagens. Agora, a partir daqui, vamos especificar a versão específica que queremos instalar. Então, nesse momento, o número da versão que eu vou usar a versão mais recente disponível atualmente, que é de dez pontos oito pontos zero neste curso, sempre especificarei versões de pacotes para garantir que estamos sempre na mesma página NPM os módulos alteram sua API ao longo do tempo, para garantir que o vídeo sempre funcione, nos faltará pacotes específicos, incluindo atualizações quando a API for alterada. Então, aqui está o comando que queremos executar. Agora, quando executamos isso, o que ele fará. Bem, ele vai para os servidores NPM. Ele vai pegar todo o código desse pacote. E, na verdade, ele será adicionado ao nosso aplicativo e perceberemos que, quando executamos esse comando, duas coisas aconteceram, uma: um pacote com o hífen LOC dot Jason File e duas: um novo diretório: diretório de módulos de nó. Vamos dar uma olhada rápida nos dois. Primeiros módulos do nó inicial. Esta é uma pasta que contém todo o código para as dependências que instalamos. Então, se eu abrir isso, o que temos. Temos um único validador de diretório. Esse é o pacote que instalamos. E se abrirmos, é todo o código do pacote validador. Agora, o diretório de módulos do nó é algo que não devemos editar manualmente, não devemos entrar no validador e alterar esses arquivos. Falaremos mais sobre isso à medida que avançamos no curso e aprendemos mais sobre gerenciamento de pacotes quando se trata de trabalhar com módulos de nó. Ele será gerado e editado quando executarmos os comandos de instalação do npm. Portanto, usamos o npm install e o NPM mantém esse diretório, o mesmo com o hífen do pacote bloqueado. Jason, este é um arquivo que contém informações extras, tornando o NPM um pouco mais rápido e um pouco mais seguro. Ele lista as versões exatas de todas as nossas dependências, bem como de onde elas foram buscadas. E também temos um hash de char para garantir que estamos obtendo o código exato que obtivemos anteriormente se instalássemos uma dependência novamente. Mais uma vez, este não é um arquivo que deveríamos estar editando. Mais uma vez, isso será mantido pelo NPM. Portanto, temos nosso pacote instalado e, quando executamos esse comando, ele foi adicionado ao pacote. Jason, temos uma propriedade de dependências. Temos nosso nome de dependência junto com a versão que instalamos. Agora que o instalamos, podemos mover para o aplicativo do nó um arquivo como o ponto do aplicativo J. S e, na verdade, carregue-o com exigir e tirar proveito de algumas das funcionalidades que ele fornece para carregar em um pacote NPM. Mais uma vez, utilizamos o exigir que eu vou adicionar uma segunda declaração de requisitos a esse arquivo aqui. Vamos seguir em frente e usar o exigir como fizemos anteriormente e realmente vamos passar em uma string. Agora, para esses módulos do nó principal, digitamos o nome do módulo para nossos arquivos, começaríamos com a barra direta do DOT para fornecer o caminho relativo para o arquivo dos módulos NPM. Listamos o nome do pacote NPM. Então, neste caso, isso seria validador. E isso é semelhante ao que fazemos com os módulos principais dos nós que agora exigem que retorne todas as coisas que o pacote validador nos fornece. Então, aqui mesmo, eu posso criar uma variável, como validador, que armazena o conteúdo que é necessário. Agora, quando se trata de descobrir como usar um determinado pacote, é quando você precisa apenas recorrer à documentação para descobrir como ele deve ser usado. Vamos acabar olhando a documentação de todas as ferramentas que instalamos. Gostaria de apontar para a documentação, uma vez que fornecerá todas as informações necessárias para aprender mais sobre como algo funciona ou para explorar outras maneiras pelas quais uma determinada ferramenta pode ser usada. Agora, para nossos propósitos na página do pacote NPM, temos todas as diferentes maneiras pelas quais essa ferramenta pode ser usada. Se rolarmos para a seção de validadores, temos um método e uma descrição de como ele funciona. Existem talvez cem métodos diferentes para todos os tipos de coisas diferentes que podemos fazer. Um dos métodos é o email, que nos permite determinar se um determinado email é válido e isso é algo que realmente vamos tirar proveito. Este método pode ser acessado diretamente no validador que é um objeto. Então, vamos em frente e testar isso. Vou adicionar um log de pontos do console chamado abaixo para que possamos imprimir alguma saída no terminal e, em vez de criar uma variável e depois passar para o log de pontos do conselho, chamarei a função dentro do console dot luck . Então, aqui mesmo, o validador coloca o nome do método que é email e vamos passar para esse método chamar um argumento de cadeia única. Então, aqui mesmo, vamos tentar algo como Andrew no exemplo dot.com, que deve ser um email válido, pois contém todas as partes do componente. Agora vamos executar nosso aplicativo no terminal abaixo. Vou limpar a saída usando o comando clear ou CLSA no Windows. Então, eu vou executar o nó com o ponto de aplicativo J s quando fizer isso. O que eu ganho. Recebo minha primeira informação da linha 5 e sou verdadeira, que é proveniente da linha 7. Então aqui temos um email válido. Agora vamos mudar isso. Vou remover Andrew e o sinal de arroba, deixando apenas o exemplo pontocom vou salvar o aplicativo ponto J. S. novamente, executarei nosso script novamente e, desta vez, erroneamente, as informações passadas não são mais um email válido, e o email retorna true se a string for um email, retorna false se a string não for e lá vamos nós fomos capazes para instalar um pacote NPM, carregue-o em nosso aplicativo de nó e aproveite-o para fazer algo significativo. Antes de encerrarmos este, vamos em frente e explorar mais um método. Bem aqui, temos uma lista alfabética de métodos. Vou rolar para baixo e estamos procurando por você. 4 é que você está bem aqui, temos outro método que nos permite determinar se uma determinada string é U. R. EU.. Então, vamos em frente e testar isso. Vou remover o e-mail que usaremos mais tarde na aula. Eu vou trocar com você é L .. Então vou mudar o valor da string que forneço. Vamos em frente e experimentar o meu próprio site. Você é l h t t P. S. dois pontos para a frente barra para a frente barra ponto da carne Eu, oh, eu vou salvar o arquivo, vou executar o programa novamente e, desta vez, vamos nos tornar realidade. Agora eu vou estragar tudo. Talvez eu faça algo como remover um dos dois pontos e a barra. Vou executar o script novamente e o que eu recebo Fico falso, isso é de fato um inválido. Para tirar proveito da documentação de um determinado pacote, geralmente é melhor encontrar um exemplo. Às vezes, a própria documentação não deixa claro como algo deve ser usado na parte superior, embora possamos ver que existem exemplos reais semelhantes ao que acabamos de fazer dentro do nosso próprio projeto. Agora você notará que há duas versões aqui no iOS 6 e iOS 6. Esta é uma nota, é claro, que usa o iOS 6 iOS 7 e recursos mais modernos por toda parte. A única grande diferença aqui é que, acima de nós, estamos usando exigem qual é o que estamos usando no nó e abaixo. Atualmente, eles estão usando uma sintaxe um pouco diferente. O nó de palavra-chave de importação atualmente não suporta o suporte à palavra-chave de importação que está vindo para ele posteriormente e, quando for suportado, adicionarei uma seção sobre ele. Mas, por enquanto, no nó j nos, quando queremos carregar algo em reutilização, é necessário. Portanto, aqui seria um ótimo exemplo para nos ajudar a descobrir exatamente como o pacote deve ser usado. É aí que vamos parar para este. Instalamos o pacote que exigimos em nosso arquivo e o usamos no próximo vídeo como um desafio. Você vai acabar fazendo a mesma coisa para uma biblioteca diferente. Estou animado para chegar a isso. Então, vamos em frente e pularemos para a próxima.