Stack Overflow em Português Asked on December 30, 2021
Tenho a seguinte estrutura para enviar e-mails pelo SendGrid
:
import mail from '@sendgrid/mail';
function send(email_data) {
mail.setApiKey(process.env.SENDGRID_API_KEY);
const message = {
to: email_data.to,
from: email_data.from,
subject: email_data.subject,
text: email_data.text,
};
return mail.send(message);
}
export default send;
Na minha Controller, eu chamo método send
da seguinte maneira:
import mail from '../../services/sendgrid';
const email_data = {
to: '[email protected]',
from: '[email protected]',
subject: 'Deposito realizado',
text: 'Foi feito um deposito na sua conta ...',
};
mail.send(email_data);
Mas o seguinte erro é exibido pra mim:
(node:7963) UnhandledPromiseRejectionWarning: TypeError: _sendgrid2.default.send is not a function
Sim, isso é um erro de importação.
Módulos exportam objetos em JavaScript, default
é apenas uma das propriedades desse objeto. Quando você faz a importação do módulo, você pode escolher o que você quer importar:
// isso importa a propriedade default e a renomeia para metodo_1
import metodo_1 from "modulo"
// isso importa as demais propriedades via desestruturação
import { metodo_2, propriedade_1 } from "modulo"
// isso importa todas as propriedades e as colocam dentro do objeto tudo
// você pode acessa-los como tudo.default, tudo.metodo_2, tudo.propriedade_1
import * as tudo from "modulo"
Como send
está sendo exportada como default
, na hora de importa-la você deveria fazer
import send from '../../services/sendgrid';
const email_data = {
to: '[email protected]',
from: '[email protected]',
subject: 'Deposito realizado',
text: 'Foi feito um deposito na sua conta ...',
};
send(email_data);
Answered by Andre on December 30, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP