Criando modulo global em Node.js

Você já deve ter instalado algum pacote Node.js usando a diretiva -g, como npm install -g basel. Esses são pacotes, ou módulos globais, que você irá usar os comandos deles diretamente no prompt de comando ou bash.

Criando o seu

Versões de softwares

Node.js 4.3.1

NPM 2.14.12

Configurando

Para iniciar abra seu terminal (prompt, bash, etc.), e execute:

$ mkdir ola-mundo && cd ola-mundo

Para criar e acessar a pasta do nosso novo módulo.

Depois execute o auxiliar de criação de pacotes:

$ npm init

Seguindo os passos e preenchendo o que for pedido, será gerado o arquivo package.json, que terá mais ou menos essa estrutura:

Nós iremos adicionar apenas alguns detalhes: uma dependência, e a mágica. E alterar o caminho do main. Ele ficará assim:

 

Criando arquivos

Estrutura de pastas

Teremos as seguintes pastas e arquivos no nosso módulo:

 

lib/index.js

Será o arquivo que contém o módulo principal da nossa aplicação, podendo ser solicitado de forma global, ou apenas ser requisitado (require) por outro módulo ou programa node.js.

Um modulo simples, mas você pode fazer programas complexos e usa-los da mesma forma.

bin/diga-oi.js

Este e o arquivo que será chamado quando executarmos nosso pacote de forma global.

Preste atenção na linha 1 deste arquivo, onde encontramos #!/usr/bin/env node, é esta linha que faz com que o NPM crie um executável para seu módulo.

Usamos o pacote commander para facilitar o acesso argumentos, e com ele podemos dar nomes aos argumentos que serão atribuídos a propriedades do objeto, preservando seus nomes.

Testando

Para testar primeiro precisamos instalar nosso novo módulo. Para isso execute:

$ npm -g install

Seu pacote será instalado como global, agora é só testar:

$ diga-oi -n Jayr

O commander também conta com o comando –help ou -h para ajuda, que vai mostrar os opções disponíveis para o uso do seu pacote. Execute:

$ diga-oi –help

 

 

Sobre o autor:

Graduado em Análise e Desenvolvimento de Sistemas - FLS; Desenvolvedor Full-stack na UniLeão; Revisor de conteúdo do site Clube dos Geeks, católico, gosto de ler e escrever.

Postagens relacionadas:

Deixe uma resposta

Seu e-mail não será publicado.