У меня есть модуль я написал (который устанавливается с помощью НОГО из частного репо), что следующая структура:экспорта Машинописи/импорт функция
email.ts, utils.ts, index.ts, (некоторые другие файлов)
на моем email.ts у меня есть следующие функции:
export default function sendEmail(toEmail: string, subject: string, content: string): any {
let helper = SendGrid.mail;
let from_email: any = new helper.Email(process.env.FROM_EMAIL);
let to_email: any = new helper.Email(toEmail);
let helperContent: any = new helper.Content("text/plain", content);
let mail: any = new helper.Mail(from_email, subject, to_email, helperContent)
var request = SendGrid.emptyRequest({
method: "POST",
path: "/v3/mail/send",
body: mail.toJSON()
});
//This performs the request with a promise
SendGrid.API(request).then((response: any) => {
//Deal with output as needed
console.log("email was sent!!");
}).catch((err: any) => {
//log.error(err);
});
}
Тогда на моем index.ts у меня есть следующие объявления:
export * from "./email";
export * from "./errors";
export * from "./logger";
export * from "./objectUtils";
export * from "./queryFilter";
export * from "./templateEngine";
export * from "./utils";
О применении, где я импортировать этот модуль импортировать это как
import * as Utils from "my-utils";
Наконец, всякий раз, когда я хочу использовать функцию SendEmail, я называю его с помощью этого заявления:
Utils.sendEmail(email, subject, content);
Однако это всегда выдает сообщение об ошибке "Cannot read property 'sendEmail' of undefined"
.
Почему это происходит? Должен ли я использовать этот тип объявлений при экспорте таким образом? Какое решение для этого?
С наилучшими пожеланиями
Что это 'моя-utils'? –
@NitzanTomer Это имя моего модуля NPM. –
Кажется, что узел не может найти ваш модуль. Посмотрите на скомпилированный вывод, имеет ли смысл? Можете ли вы включить это в свой вопрос? –