2 votes

Javascript : pourquoi est-ce que j'obtiens une erreur TypeError: xxxx n'est pas une fonction en utilisant exports/require lors de la compilation

J'exporte une fonction en utilisant :

sendSmtpMessage.js

'use strict';
const nodemailer = require("nodemailer");
const { OAuth2Client } = require('google-auth-library');

exports.sendSmtpMessage = function(keys, mailOptions) {
  ...
  return true;
};

Ensuite, je l'importe et l'utilise dans mon fichier index.js :

index.js

const sendSmtpMessage = require("./sendSmtpMessage.js");
...
sendSmtpMessage(keys,mailOptions); // <=== erreur

Je reçois une erreur lors de la compilation

TypeError: sendSmtpMessage n'est pas une fonction

0voto

CertainPerformance Points 110949

Vous l'importez comme s'il s'agissait de l'exportation par défaut - importez-le plutôt en tant qu'importation nommée (tout comme la déstructuration d'un objet):

const { sendSmtpMessage } = require("./sendSmtpMessage.js");

Ou, importez-le comme vous le faisiez avant, mais assignez à module.exports au lieu d'assigner à une propriété de exports:

module.exports = function(keys, mailOptions) {
  ...
  return true;
};

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X