Neste artigo você vai aprender a como criar diretório com Node.js, ou seja, veremos como criar uma pasta por meio do Node!
Fala programador(a), beelza? Bora aprender mais sobre Node!
O Node.js é um ambiente de execução JavaScript que permite aos desenvolvedores criar e executar aplicações do lado do servidor com JavaScript.
É uma ferramenta incrivelmente versátil, com um vasto ecossistema de pacotes que possibilita realizar quase tudo, desde a criação de servidores web até a interação com sistemas de arquivos.
Neste artigo, vamos nos concentrar nessa última tarefa: como criar diretório com Node.js.
Entendendo o Módulo FS de Node.js
Antes de mergulharmos no código, é importante entender que Node.js possui um módulo embutido chamado ‘fs’, que significa ‘file system’ (sistema de arquivos).
Este módulo fornece uma série de métodos que nos permitem interagir com o sistema de arquivos do nosso computador – isso inclui a criação de diretórios.
Criando um Diretório Simples com Node.js
Vamos começar com o básico: criar um único diretório. Aqui está como podemos fazer isso com Node.js:
const fs = require('fs'); fs.mkdir('meuNovoDiretorio', { recursive: false }, (err) => { if (err) throw err; });
Neste exemplo, estamos usando a função ‘mkdir’ do módulo ‘fs’ para criar um diretório chamado ‘meuNovoDiretorio’.
A função recebe três argumentos: o nome do diretório que queremos criar, um objeto de opções e uma função de callback que será chamada quando a operação estiver concluída.
O objeto de opções nos permite especificar algumas configurações para a operação.
Neste caso, estamos usando a opção ‘recursive’ e definindo-a como false. Isso significa que a função ‘mkdir’ criará apenas o diretório especificado e não criará nenhum diretório pai se ele não existir.
A função de callback é chamada quando a operação de criação do diretório é concluída.
Se ocorrer um erro durante a operação, a função de callback receberá um objeto de erro como seu primeiro argumento. Neste exemplo, estamos simplesmente lançando o erro se ele existir.
Criando Diretórios Aninhados com Node.js
E se quisermos criar vários diretórios aninhados de uma vez? Felizmente, a função ‘mkdir’ do módulo ‘fs’ também nos permite fazer isso.
Basta definir a opção ‘recursive’ como true, assim:
const fs = require('fs'); fs.mkdir('meuNovoDiretorio/novoSubdiretorio', { recursive: true }, (err) => { if (err) throw err; });
Neste exemplo, estamos tentando criar um diretório chamado ‘novoSubdiretorio’ dentro de um diretório chamado ‘meuNovoDiretorio’. Ao definir a opção ‘recursive’ como true, a função ‘mkdir’ criará todos os diretórios pai necessários para criar ‘novoSubdiretorio’.
Criando Diretórios Síncronos com Node.js
No Node.js, existem versões síncronas para muitas das funções assíncronas do módulo ‘fs’.
Estas funções síncronas bloqueiam a execução do código até que a operação do sistema de arquivos seja concluída.
Aqui está como você pode criar um diretório de forma síncrona com Node.js:
const fs = require('fs'); try { fs.mkdirSync('meuNovoDiretorio'); console.log('Diretório criado com sucesso!'); } catch (err) { console.error('Ocorreu um erro ao criar o diretório:', err); }
Neste exemplo, estamos usando a função ‘mkdirSync’ para criar um diretório chamado ‘meuNovoDiretorio’.
Como esta é uma operação síncrona, o código será bloqueado até que a operação seja concluída.
Se a operação for bem-sucedida, a mensagem ‘Diretório criado com sucesso!’ será registrada no console.
Se ocorrer um erro, a mensagem de erro será registrada no console.
Usando Promises para Criar Diretórios
A partir do Node.js versão 10, o módulo ‘fs’ também fornece uma versão baseada em promises das suas funções. Isso nos permite usar a sintaxe async/await para criar diretórios, que pode ser mais legível para alguns desenvolvedores.
Veja como você pode fazer isso:
const fs = require('fs').promises; async function criarDiretorio() { try { await fs.mkdir('meuNovoDiretorio'); console.log('Diretório criado com sucesso!'); } catch (err) { console.error('Ocorreu um erro ao criar o diretório:', err); } } criarDiretorio();
Neste exemplo, estamos usando a função ‘mkdir’ do módulo ‘fs.promises’ para criar o diretório.
Como esta função retorna uma promise, podemos usar a palavra-chave ‘await’ para esperar que a operação seja concluída antes de prosseguir.
Isso nos permite escrever código assíncrono que se parece muito com o código síncrono.
Quer aprender mais sobre JavaScript? Confira o vídeo abaixo:
Conclusão
Trabalhar com o sistema de arquivos é uma parte fundamental do desenvolvimento de aplicações do lado do servidor com Node.js.
O módulo ‘fs’ nos fornece as ferramentas necessárias para criar diretórios de forma eficiente e eficaz.
Seja você um iniciante ou um profissional experiente, dominar essas habilidades permitirá que você crie aplicações mais robustas e flexíveis.
Está buscando em evoluir como Programador? Confira o nossos cursos clicando aqui.
Nosso principal objetivo é tornar você um dev profissional que é capaz de resolver problemas de alta dificuldade e criar projetos complexos, através de uma metodologia planejada nos mínimos detalhes, após formar muitos outros desenvolvedores.
Cursos com vários projetos, exercícios, material apoio, comunidade de alunos e muito mais!