Desenvolvimento

22 jan, 2018

NodeJS: criando um módulo global e publicando no NPM

Publicidade
Node.js + NPM

Vejamos neste artigo como podemos criar um módulo global com o Nodejs. Aproveitarei para demonstrar como podemos instalar e compartilhar ele via npm.

Criando a estrutura

Seu primeiro passo será escolher um local no seu computador e criar um novo diretório, para esse artigo eu irei dar o nome de my-module, em seguida crie mais dois diretórios dentro dele chamados: bin e lib. Caso você queira clonar a versão final do exemplo que irei mostrar nesse artigo, segue o seu link no GitHub.

Depois desse passo você terá a seguinte estrutura:

estrutura

Agora precisamos criar o arquivo package.json. Para isso execute o comando npm init -y, ele irá criar o arquivo com os valores default dentro da estrutura que acabamos de criar.

Criando a nossa biblioteca

Para o nosso exemplo, eu irei criar uma biblioteca para criação de um arquivo .txt, será somente um exemplo simples de como podemos criar algumas tarefas que podem nos auxiliar no nosso dia dia. Para isso, crie um novo arquivo dentro do seu diretório lib chamado index.js e atualize ele com o código abaixo:

var fs = require("fs");
var createStream = fs.createWriteStream("teste.txt");
createStream.write("Hello World!");
createStream.end();

Criando o nosso módulo

Agora nos precisamos de um módulo que integre o nosso código ao NPM. Para isso, crie um novo arquivo chamado myfirstmodule.js. Nosso próximo passo será chamarmos a nossa lib nele. Para isso, atualize ele com o código abaixo:

#!/usr/bin/env node
 
var lib= require('../lib/index.js');

Note a primeira linha do nosso código a cima (#!/usr/bin/env node), ela irá habilitar o nosso módulo a ser utilizado pelo NPM.

Instalando o nosso módulo globalmente

Para que possamos instalar o nosso módulo de uma maneira global, com o -g, nós precisamos atualizar o nosso arquivo package.json. Abaixo podemos ver o meu arquivo atualizado com os dados para esse exemplo:

{
  "name": "my-module",
  "version": "1.0.0",
  "description": "Create a simple global module with Nodejs",
  "main": "./lib/index.js",
  "bin": {
    "my-module": "bin/myfirstmodule.js"
  },
  "keywords": [],
  "author": "Thiago da Silva Adriano",
  "license": "ISC",
  "preferGlobal": "true"
}

Agora execute o comando npm -g install . no seu terminal dentro do diretório da sua aplicação, em seguida escolha um diretório e execute o comando my-module no seu terminal, esse e o mesmo comando que nós passamos na linha 06 do nosso arquivo package.json. Note que ele irá criar um novo arquivo .txt com Hello World escrito dentro dele.

Publicando no NPM

Agora para que você possa publicar o seu módulo, digite npm login no seu terminal e passe as suas credenciais, caso ainda não tenha crie um no seguinte link: Portal NPM.

.Com os seus dados digitados corretamente, agora execute o comando npm publish e envie o seu módulo para o portal, caso tudo OK ele irá aparecer na sua lista de módulos.

Caso você queira ver o meu módulo publicado, segue o seu link no portal: Modulo Global NPM.