代码之家  ›  专栏  ›  技术社区  ›  user762579

Javascript:为什么get-aTypeError:xxxx不是编译时使用导出/要求的函数

  •  2
  • user762579  · 技术社区  · 7 年前

    我使用以下方法导出函数:

    sendsmtmpessage.js

    'use strict';
    const nodemailer = require("nodemailer");
    const { OAuth2Client } = require('google-auth-library');
    
    exports.sendSmtpMessage = function(keys, mailOptions) {
      ...
      return true;
    };
    

    然后我导入并在index.js文件中使用它:

    index.js

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

    我在编译时出错

    TypeError: sendSmtpMessage is not a function
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   CertainPerformance    7 年前

    您正在导入它,就好像它是 违约 导出-将其作为命名导入导入(就像分解对象一样):

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

    或者,像以前一样导入它,但分配给 module.exports 而不是指定给 exports

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