Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

195
Visualizações
Cómo registrar pg-promise con hapi

Intento registrar pg-promise como complemento hapi. Sin embargo, se produjo el siguiente error.

TypeError: no se pueden leer las propiedades de undefined (leyendo 'nombre')
en internals.Server.register (/home/kim.js/pgpromise/node_modules/@hapi/hapi/lib/server.js:456:42)
en inicio (/home/kim.js/pgpromise/hapi-pgTest.js:22:16)

Mi código es el siguiente y también adjunto un sitio de referencia.
Tutorial de Hapi - Primeros pasos
Hapi Tutorial - Complementos

 'use strict'; const promise = require('bluebird'); const Hapi = require('@hapi/hapi'); const Pg = require('pg-promise')(); const postgreSql = { host: '127.0.0.1', port: 5432, user: 'someone', password: 'my_password', database: 'my_db', table_schema: 'public', }; const init = async () => { const server = Hapi.server({ port: 3000, host: '192.168.9.23' }); await server.register([{ // ERROR is Here !! plugin: Pg, options: { promiseLib: promise } }]); server.route({ method: 'GET', path: '/', handler: async (request, h) => { let sql = 'SELECT FROM my_table limit 1'; let result = await pgp.one(sql).catch(error => { console.log(sql); }); return result; } }); const pgp = Pg(postgreSql); await server.start(); console.log('Server running on %s', server.info.uri); }; process.on('unhandledRejection', (err) => { console.log(err); process.exit(1); }); init();
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

El inglés no es mi primer idioma, así que comprenda si la oración es rara.

En mi proyecto, usé un complemento llamado hapi-pg-promise antes, pero se produjo un bloqueo con hapi v20.

Mi error fue que intento registrar el módulo, no el complemento. Así que me referí al documento del complemento hapi y modifiqué mi código al referirme al código fuente hapi-pg-promise.

Hacer mi promesa hapi-pg

 'use strict'; /* this is original source const Hoek = require('hoek'); const PgPromise = require('pg-promise'); */ const Hoek = require('@hapi/hoek'); const PgPromise = require('pg-promise')(); const pkg = require('./package.json'); const DEFAULTS = { init: {}, cn: undefined }; module.exports = { pkg, register: async function (server, options) { const opts = Hoek.applyToDefaults(DEFAULTS, options); const pgp = require('pg-promise')(opts.init); const db = pgp(opts.cn); server.ext('onPreHandler', (request, h) => { request.db = db; return h.continue; }); server.expose('db', db); server.events.on('stop', pgp.end); } };

Después de eso, registré el complemento y funcionó :)

 /* NOT this const Pg = require('pg-promise')(); */ const Pg = require('./myPlugins/my-hapi-pg-promise');
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda