Você está aqui: Node.js ::: Dicas & Truques ::: Arquivos e Diretórios |
Como ler o conteúdo de arquivos usando as funções readFile() e readFileSync() do módulo File System (fs) do Node.jsQuantidade de visualizações: 4393 vezes |
O Node.js facilita muito o nosso trabalho quando o assunto é ler o conteúdo de um arquivo, seja um arquivo .txt, .html, .css, etc, até mesmo arquivos binários. O módulo File System, ou fs, nos fornece duas funções, a saber: readFile() e readFileSync(). A primeira nos permite ler o conteúdo do arquivo de forma assíncrona, enquanto a segunda permite a leitura de forma síncrona, ou seja, com bloqueio. Vamos começar com a função readFileSync(), por ser mais fácil de entender. Veja o trecho de código a seguir: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // precisamos importar o módulo File System var fs = require('fs'); // nome e caminho do arquivo a ser lido var arquivo = 'C:\\estudos_nodejs\\texto.txt'; // guardamos o conteúdo do arquivo var conteudo = fs.readFileSync(arquivo); // e o exibimos em seguida console.log('Conteúdo do arquivo:\n\n' + conteudo); Ao executar este código nós teremos o seguinte resultado: c:\estudos_nodejs>node ler_arquivo.js Conteúdo do arquivo: Esta é a primeira linha do arquivo. Esta é a segunda linha do arquivo. E esta é a terceira linha do arquivo. É importante observar que uma chamada à função fs.readFileSync() bloqueia as demais instruções, ou seja, o código da aplicação fica congelado até que o conteúdo do arquivo seja carregado por completo na variável conteudo. Em aplicações console essa pode ser uma boa idéia, principalmente se as demais partes da aplicações dependerem do resultado dessa leitura. Note que uma chamada ao método fs.readFileSync() pode atirar uma exceção (erro) do tipo: Error: ENOENT: no such file or directory, open caso o arquivo não puder ser encontrado. Na dúvida é bom usar um bloco try...catch para evitar que sua aplicação morra antes da hora. A função readFile(), por sua vez, é assíncrona. Isso que dizer que, enquanto ela se encarrega de fazer a leitura do arquivo, as demais partes do código da aplicação continuarão sendo executadas. Por isso, devemos fornecer a ela uma função de callback. Veja o exemplo a seguir: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // precisamos importar o módulo File System var fs = require('fs'); // nome e caminho do arquivo a ser lido var arquivo = 'C:\\estudos_nodejs\\texto.txt'; // lemos o conteúdo do arquivo e o guardamos // na variável conteudo (de forma assíncrona) fs.readFile(arquivo, (erro, conteudo) => { if(erro){ throw "Ops, aconteceu um erro: " + erro; } else{ console.log("Conteúdo do arquivo\n\n:" + conteudo); } }); Ao executarmos este código nós teremos o mesmo resultado do código anterior, com a diferença de que a leitura agora ocorrerá de forma assícrona. Tenha cuidado com isso. Código assíncrono acessando variáveis externas pode ser um perigo. |
Link para compartilhar na Internet ou com seus amigos: |
Node.js ::: Node.js + MongoDB ::: Passos Iniciais |
Node.js MongoDB - Como instalar o driver do MongoDB no Node.js e efetuar uma conexão Node.js + MongoDBQuantidade de visualizações: 1370 vezes |
Assumindo que você já conhece o banco de dados MongoDB, já fez sua instalação e já está um pouco familiarizado com suas características, nesta dica mostrarei como podemos efetuar uma conexão Node.js + MongoDB. Este é o passo inicial para desenvolver aplicações MEAN (Mongo, Express, Angular, Node) ou MERN (Mongo, Express, React, Node). Note que, nessa dica, usarei apenas o MongoClient para efetuar a conexão com o banco de dados MongoDB. Em outras dicas eu abordo o Mongoose. Então vamos iniciar. A primeira coisa que temos que fazer é instalar o driver MongoDB. Assim, com o Node.js devidamente instalado e funcionando, e com o banco MongoDB em perfeito funcionamento também, abra uma janela de terminal e digite o comando: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- npm install mongodb Após alguns minutos, a instalação será concluída e teremos o seguinte resultado: + mongodb@3.6.4 added 17 packages from 9 contributors and audited 20 packages in 9.358s 1 package is looking for funding run `npm fund` for details found 0 vulnerabilities Agora já podemos escrever o código que efetua a conexão Node.js com o MongoDB. Abra o seu editor de códigos favorito e digite a listagem abaixo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // vamos obter uma referência ao MongoClient var MongoClient = require('mongodb').MongoClient; // vamos nos conectar à base de dados escola var url = 'mongodb://localhost:27017/escola'; // Vamos nos conectar ao servidor e base de dados. Atenção: Em caso de erro, a // função pode demorar a retornar, pois o Node.js pode pensar que é lentidão // na rede MongoClient.connect(url, {useUnifiedTopology: true}, function(err, db) { if(err){ console.log("Não foi possível efetuar a conexão. Erro: " + err); } else{ console.log("Conexão efetuada com sucesso."); } // finalmente vamos fechar a conexao if(db){ db.close(); } }); Salve este código como conexao.js e execute-o no Node.js (com o MongoDB rodando, é claro) com o seguinte comando: c:\estudos_nodejs>node conexao.js Se tudo correr bem você verá a mensagem: Conexão efetuada com sucesso. Veja que, nesse código, eu efetuei uma conexão com a base de dados escola. Se a porta e o servidor estiverem corretos (talvez você tenha que informar um usuário e senha também), a conexão será efetuada com sucesso mesmo que a base de dados não exista. Quando informamos uma base de dados inexistente, o MongoDB entende que queremos criá-la, mas ele só a cria de fato, quando solicitamos a criação de uma nova coleção. Em mais dicas dessa seção você aprenderá como criar coleções no MongoDB a partir de seus códigos Node.js. Até lá e bons estudos. |
Node.js ::: Dicas & Truques ::: Arquivos e Diretórios |
Como obter o diretório de instalação do Node.js - O diretório de trabalho do Node.jsQuantidade de visualizações: 2026 vezes |
Em algumas situações nós gostaríamos de obter o diretório de instalação, ou diretório de trabalho do Node.js. Isso pode ser feito por meio da variável __dirname ou da função cwd() do objeto process. Tanto a variável quanto a função process.cwd() fazem parte do core do Node.js e não precisam ser importados. Veja abaixo um exemplo de um aplicação funcional que mostra o nome do diretório de trabalho: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // importamos o módulo HTTP var http = require("http"); http.createServer(function(request, response){ // Aqui nós enviamos o cabeçalho HTTP, com a resposta // 200 (OK) e o content type text/plain response.writeHead(200, {'Content-Type': 'text/plain'}); // Vamos obter e mostrar o diretório de trabalho do Node.js var diretorio = __dirname; // poderíamos também usar // var diretorio = process.cwd(); response.write('O diretório de trabalho é: ' + diretorio + '\n'); // fechamos a resposta HTTP response.end(); }).listen(8081); // o HTTP server vai ouvir na posta 8081 // Que tal uma mensagem no console? console.log('O servidor está ouvindo em http://127.0.0.1:8081/'); Depois de executar o servidor, abra seu navegador no endereço http://127.0.0.1:8081 e você terá o seguinte resultado: O diretório de trabalho é: c:\estudos_nodejs |
Node.js ::: Express.js ::: Passos Iniciais |
Node.js Express.js - Como escrever sua primeira aplicação Express.jsQuantidade de visualizações: 2030 vezes |
Se você chegou até esta página vindo(a) de um sistema de busca tal como o Google, saiba que o Express.js é um framework web baseado no núcleo do Node.js, ou seja, antes de experimentar o exemplo abaixo, você deve ter uma instalação funcional do Node.js na sua máquina. Além disso, o módulo express deve estar instalado também, e 100% operacional. No entanto, se sua instalação do Node.js ainda não tem o express, basta entrar no diretório que você instalou o Node.js e disparar o comando a seguir: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- npm install express Verifique se a instalação foi feita com sucesso e vamos continuar. Este exemplo é bem simples e requer apenas um arquivo. Para tanto, abra o seu editor de código favorito e digite a listagem abaixo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // vamos importar o módulo express var express = require('express'); // o servidor vai ouvir na porta 8081 var porta = 8081; var app = express(); // o asterisco (*) quer dizer que todas as requisições vão cair aqui app.get('*', function(request, response){ response.end('Tamo juntos!'); }); app.listen(porta, function(){ console.log('O servidor está ouvindo em http://localhost:%s', porta); }); Salve o arquivo como servidor.js e execute o Node.js. Em seguida abra o seu navegador web no endereço http://localhost:8081 e veja o resultado. Agora não deixe de ver nossas outras dicas de Node.js e aprender cada vez mais. |
Veja mais Dicas e truques de Node.js |
Dicas e truques de outras linguagens |
JavaScript - Como calcular o comprimento da hipotenusa em JavaScript dadas as medidas do cateto oposto e do cateto adjascente C - Como escrever uma função strtoupper() em C para transformar uma palavra inteira em letras maiúsculas |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |