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

304
Visualizações
TypeScript (error de Nodejs) Escriba 'cadena | undefined' no se puede asignar al tipo 'cadena'. El tipo 'indefinido' no se puede asignar al tipo 'cadena

Tengo una aplicación nodejs y estoy usando Typescript para ella y he implementado Clases e interfaces para los Modelos para Db. También tengo una clase de usuario modelo con interfaz. Simplemente quiero enviar una notificación y estoy usando un código básico de Puhser como este

 let pusher = new Pusher({ appId: process.env.PUSHER_APP_ID, key: process.env.PUSHER_APP_KEY, secret: process.env.PUSHER_APP_SECRET, cluster: process.env.PUSHER_APP_CLUSTER }); pusher.trigger('notifications', 'user_added', user, req.headers['x-socket-id']);

Pensé que sería simple pero da el siguiente error en todos los campos como appId, clave, etc.

(propiedad) appId: cadena | indefinido Tipo 'cadena | undefined' no se puede asignar al tipo 'cadena'. El tipo 'indefinido' no se puede asignar al tipo 'string'.ts(2322) index.d.ts(45, 5): el tipo esperado proviene de la propiedad 'appId' que se declara aquí en el tipo 'Opciones'

Intenté usar la variable pusher como interfaz pero pusher es un sistema de terceros que probé

 let pusher = new Pusher({ const appId: string = process.env.PUSHER_APP_ID, const key: string = process.env.PUSHER_APP_KEY, const secret: string = process.env.PUSHER_APP_SECRET, const cluster: string = process.env.PUSHER_APP_CLUSTER }); type here
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Puede convertir las variables de entorno en una cadena.

 let pusher = new Pusher({ appId: process.env.PUSHER_APP_ID as string, key: process.env.PUSHER_APP_KEY as string, secret: process.env.PUSHER_APP_SECRET as string, cluster: process.env.PUSHER_APP_CLUSTER as string, });
about 4 years ago · Juan Pablo Isaza Relatório

0

porque el valor de process.env.PUSHER_APP_ID no está definido console.log(process.env.PUSHER_APP_ID) check value

about 4 years ago · Juan Pablo Isaza Relatório

0

El tipo de devolución que obtiene de process.env será del tipo yourRequiredType | undefined porque podría existir o no y eso es lo que Typescript está tratando de decirle.

Tienes dos opciones:

  1. Puede definir las propiedades de su objeto para que sean del Tipo deseado o indefinido;

  2. Puede implementar un Typeguard para garantizar que se pase el tipo correcto de la siguiente manera:

    const stringTypeGuard = (x: desconocido): x es una cadena => tipo de x === cadena

antes de pasar su objeto a la base de datos, puede usar esto para garantizar que sus propiedades sean las que desea

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