Articles of node.js

fazendo uma ação de limpeza antes do node.js sair

Eu quero dizer ao node.js para sempre fazer algo antes de sair, por qualquer motivo – Ctrl + C, exceção ou qualquer outro motivo. Eu tentei isso: process.on(‘exit’, function (){ console.log(‘Goodbye!’); }); Começou o processo, matou e nada aconteceu; começou de novo, pressionou Ctrl + C, e ainda assim nada aconteceu …

Falha ao carregar a extensão c ++ bson

Um nó total noob aqui. Eu tenho tentado configurar um aplicativo de nó de amostra, mas o seguinte erro continua aparecendo toda vez que tento executar: aplicativo de nó Failed to load c++ bson extension, using pure JS version events.js:72 throw er; // Unhandled ‘error’ event ^ Error: failed to connect to [#$%67890 :27017] at […]

Como fazer uma function esperar até que um retorno de chamada tenha sido chamado usando node.js

Eu tenho uma function simplificada que se parece com isso: function(query) { myApi.exec(‘SomeCommand’, function(response) { return response; }); } Basicamente eu quero chamar myApi.exec , e retornar a resposta que é dada no lambda de retorno de chamada. No entanto, o código acima não funciona e simplesmente retorna imediatamente. Apenas por uma tentativa muito hackeada, […]

Retorno de chamada após todos os retornos asynchronouss para cada retorno de chamada

Como o título sugere. Como eu faço isso? Eu quero chamar whenAllDone() depois que o forEach-loop passou por cada elemento e fez algum processamento asynchronous. [1, 2, 3].forEach( function(item, index, array, done) { asyncFunction(item, function itemDone() { console.log(item + ” done”); done(); }); }, function allDone() { console.log(“All done”); whenAllDone(); } ); Possível fazê-lo funcionar […]

NodeJS planeja dar suporte aos módulos es6 (es2015) de importação / exportação

Eu tenho procurado por toda a internet sem uma resposta clara para isso. Atualmente, o NodeJS usa apenas a syntax do CommonJS para carregar módulos e, se você realmente quiser usar a syntax padrão dos módulos ES2015, terá que fazer o transpile antes ou usar um carregador de módulo externo no tempo de execução. Atualmente […]

parseInt vs unary plus – quando usar qual

Quais são as diferenças entre esta linha: var a = parseInt(“1″, 10); // a === 1 e esta linha var a = +”1”; // a === 1 Esse teste jsperf mostra que o operador unário é muito mais rápido na versão atual do chrome, supondo que seja para node.js !? Se eu tentar converter strings […]

Enviar mensagem para um cliente específico com socket.io e node.js

Eu estou trabalhando com socket.io e node.js e até agora parece muito bom, mas eu não sei como enviar uma mensagem do servidor para um cliente específico, algo assim: client.send(message, receiverSessionId) Mas nem os .send() nem o .broadcast() parecem suprir minha necessidade. O que eu encontrei como uma solução possível, é que o método .broadcast() […]

Não é possível instalar pacotes usando o gerenciador de pacotes do nó no Ubuntu

O nome do intérprete do NodeJS ( node ) no Ubuntu foi renomeado para nodejs por causa do conflito de nomes com outro pacote. Aqui está o que o readme.debian diz: O nome do upstream do comando do interpretador Node.js é “node”. No Debian o comando interpretador foi alterado para “nodejs”. Isso foi feito para […]

Babel 6 regeneratorRuntime não está definido

Estou tentando usar o async, aguardo do zero no Babel 6, mas estou ficando o regeneratorRuntime não está definido. arquivo .babelrc { “presets”: [ “es2015”, “stage-0” ] } arquivo package.json “devDependencies”: { “babel-core”: “^6.0.20”, “babel-preset-es2015”: “^6.0.15”, “babel-preset-stage-0”: “^6.0.15” } arquivo .js “use strict”; async function foo() { await bar(); } function bar() { } exports.default […]

arquivos estáticos com express.js

Eu quero servir index.html e /media subdiretório como arquivos estáticos. O arquivo de índice deve ser exibido em /index.html e / URLs. eu tenho web_server.use(“/media”, express.static(__dirname + ‘/media’)); web_server.use(“/”, express.static(__dirname)); mas a segunda linha aparentemente serve todo o __dirname , incluindo todos os arquivos (não apenas index.html e media ), o que eu não quero. […]