‫Até agora nesta seção, você
‫aprendeu como exigir
‫os módulos principais do Node JS.
‫Como exigir seus próprios módulos.
‫E
‫então, neste vídeo, você aprenderá
‫como exigir módulos de terceiros do registro do NPM.
‫Na verdade, exigir um módulo
‫que já instalamos do NPM é
‫muito, muito simples.
‫Então, novamente, fazemos todos os requisitos no topo
‫e geralmente exigimos os módulos principais primeiro, depois
‫os módulos de
‫terceiros e, em seguida,
‫os nossos próprios provenientes de nosso sistema
‫de arquivos local como este.
‫Então, o que vamos exigir é
‫chamado de slugify.
‫Lembrar?
‫Este é o
‫que instalamos na aula anterior.
‫E tudo o que temos que fazer
‫para requisitá-lo é apenas gostar
‫antes de usar
‫a função require e, em seguida, simplesmente o nome do pacote.
‫E então OGS saberá automaticamente que terá
‫que ir para a
‫pasta de módulos de nó.
‫Então esta pasta onde estão todas as dependências, e
‫procure por aquele módulo lá.
‫OK?
‫Novamente, isso retornará uma variável.
‫E então precisamos salvar isso em uma variável.
‫E estou chamando de slugify aqui, assim.
‫OK?
‫E então slugify será
‫uma função, que podemos usar basicamente para criar slugs.
‫Então, novamente, o que é uma lesma?
‫Well slug é basicamente apenas a última parte
‫de um URL que contém uma string única
‫que identifica o recurso
‫que o site está exibindo.
‫Por exemplo,
‫em nosso farm
‫de nós, digamos que
‫onde abrimos este abacate em vez de ter
‫esse ID igual a zero,
‫poderíamos ter algo como (clicar) em abacates frescos, certo?
‫E então essa parte aqui ou
‫na verdade apenas essa
‫parte, então essa seria a lesma.
‫Portanto, é basicamente esse nome
‫aqui e, em seguida, baseado em uma string única como esta.
‫E tenho certeza que você já
‫viu isso em todo lugar, como em postagens de blogs.
‫É muito comum fazer assim.
‫Ou realmente em qualquer lugar onde simplesmente não
‫queremos algo assim.
‫OK?
‫Então ID é igual a um.
‫Ou também poderíamos
‫usar, por
‫exemplo, neste caso, cabra e assim por diante.
‫OK.
‫Não vou checar o nome inteiro.
‫Mas a ideia é usar uma lesma,
‫que é uma string única em vez
‫de apenas um
‫número que não tem nenhum significado para nós.
‫Agora, digamos que esta seja
‫a primeira vez que você está usando o pacote slugify.
‫Então, para descobrir como ele
‫realmente funciona, podemos
‫pesquisar a documentação aqui
‫no NPM.
‫Portanto, apenas colocamos o nome do pacote aqui.
‫Em seguida, pesquise.
‫E então este é o que instalamos.
‫Tudo bem.
‫Então já fizemos essa parte aqui.
‫Exigindo o módulo ou o pacote aqui.
‫E aqui embaixo podemos ver como
‫o usamos.
‫Portanto, tudo o que precisamos
‫fazer é usar slugify como uma função e, em
‫seguida, passar uma string.
‫Então aqui você vê as opções.
‫E, por exemplo, podemos especificar a substituição.
‫Então, basicamente, o que o espaço
‫vazio será substituído.
‫E geralmente é esse traço.
‫Assim como eu estava digitando aqui.
‫Mas podemos especificar
‫algo diferente, como um sublinhado ou nada.
‫OK.
‫Aqui podemos especificar
‫que queremos tudo em minúsculas.
‫E então vamos prosseguir e fazer isso agora
‫em nosso código.
‫Portanto, temos o
‫slugify aqui e agora apenas para testá-lo,
‫vamos fazê-lo aqui antes de criar o servidor.
‫Console no log.
‫Slugify para string.
‫Abacates frescos e depois especificarei a
‫opção que acabei de mostrar, que
‫é minúscula
‫e configurarei como true.
‫Salve-o
‫e lembre-se de que agora
‫não precisamos mais fechar
‫o aplicativo e reiniciá-lo novamente.
‫O homem do nó faz isso automaticamente para nós agora.
‫E aqui embaixo você já vê abacates frescos.
‫Simplesmente cometi algum erro aqui.
‫Portanto, está em minúsculas.
‫Mas ainda não está funcionando
‫por algum motivo, então vamos voltar aqui.
‫Ah eu vejo.
‫Na verdade, é apenas mais baixo.
‫Mas é exatamente
‫para isso que serve a documentação.
‫Para vermos como algo realmente funciona para que
‫possamos usar o pacote corretamente
‫em nosso código.
‫E
‫assim, criei um pedaço de nosso fio
‫de abacate fresco inicial.
‫Agora vamos fazer isso para todos os nossos produtos.
‫Então, eles estão no objeto de dados.
‫Então, vamos criar um array de todos os slugs.
‫Então lesmas.
‫Portanto, mapa de pontos do objeto de dados.
‫E, de novo, isso é apenas JavaScript
‫normal, de modo que não deve significar nada para você.
‫Então, estamos fazendo um loop sobre o objeto de
‫dados e, em seguida, criamos uma nova matriz com base nisso.
‫E em cada iteração o que faremos é
‫pegar o elemento e
‫criar um slug a partir dele.
‫Então, slugify o nome do produto ponto do elemento.
‫Portanto, lembre-se de que é onde está o
‫nome do produto.
‫Então, aqui você vê o nome do produto.
‫E então este objeto.
‫E vamos realmente registrar isso no console.
‫E, de fato, aqui vamos nós.
‫Então, essas são nossas seis
‫lesmas ou, na verdade,
‫apenas cinco de nossos cinco produtos.
‫Tudo bem.
‫E é assim que incluímos
‫um módulo de terceiros.
‫Dê uma olhada na documentação e
‫então use-a de fato em nosso código.
‫OK.
‫Portanto, este slugify agora é uma dependência do nosso código.
‫Porque sem
‫esse pacote esta parte do
‫código aqui não funcionaria mais.
‫Direito?
‫Portanto, nosso código agora
‫depende de ter o pacote slugify instalado no projeto.
‫Agora poderíamos ir em frente e
‫realmente armazenar esses slugs aqui no data json e, em seguida,
‫construir o
‫aplicativo para que, em vez
‫do ID, ele exiba o slug na URL.
‫Mas não vou
‫prosseguir e fazer isso aqui, porque
‫é apenas usando os mesmos
‫conceitos que aprendemos antes, de novo.
‫E isso não acrescenta nada de novo.
‫Tudo o que eu
‫queria fazer neste vídeo é realmente mostrar a vocês
‫esse processo de integração de um novo pacote em nosso código.
‫Dê uma olhada na documentação
‫e, em seguida,
‫faça um exemplo simples com esse novo módulo.
‫Então esse era o objetivo deste vídeo.
‫Isso está concluído agora.
‫E agora vamos passar para
‫o próximo.