导入带有属性的ES6模块

Ata*_*hez 0 javascript node.js mailgun ecmascript-6

我在NodeJS的服务器上使用ES6.我使用babel进行转换,一切正常,但我有一个问题,我不知道如何继续.我需要能够在代码ES6中编写代码ES5的这个片段,我希望有人解释如何做到这一点以及为什么它不起作用我正在做的事情.

特别是,我需要在ES5中运行此代码,在ES6中运行:

const mailgun = require('mailgun-js')({
  apiKey: config.mail.api.api_key,
  domain: config.mail.api.domain
})
Run Code Online (Sandbox Code Playgroud)

目前,我正在尝试使用以下代码,但它不起作用:

import mailgun from 'mailgun-js'
mailgun = {
  apiKey: config.mail.api.api_key,
  domain: config.mail.api.domain
}
Run Code Online (Sandbox Code Playgroud)

配置参数有一个正常工作的config.js文件.在转换代码时,控制台在日志中返回以下错误消息:

日志消息

我需要知道使用该语法时出现的错误,以及执行此操作的正确方法.谢谢.

T.J*_*der 7

前面的代码是这样做的:

  1. 要求 mailgun-js
  2. 将结果作为函数调用,传入一些配置
  3. 以此为结果 mailgun

要在ES6中执行相同操作,如果我们假设该函数是默认导出,首先我们导入函数,然后我们调用它:

import mailgunFactory from 'mailgun-js';
const mailgun = mailgunFactory({
  apiKey: config.mail.api.api_key,
  domain: config.mail.api.domain
});
Run Code Online (Sandbox Code Playgroud)