Javascript 导入具有属性的ES6模块

Javascript 导入具有属性的ES6模块,javascript,node.js,ecmascript-6,mailgun,Javascript,Node.js,Ecmascript 6,Mailgun,我正在NodeJS服务器上使用ES6。我使用babel来传输它,一切都正常工作,但我有一个问题,我不知道如何继续。我需要能够在代码ES6中编写这段代码ES5,我希望有人能解释如何做到这一点,以及为什么我正在做的事情不起作用 特别是,我需要在ES5中编写此代码,并在ES6中运行: const mailgun = require('mailgun-js')({ apiKey: config.mail.api.api_key, domain: config.mail.api.domain })

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

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

const mailgun = require('mailgun-js')({
  apiKey: config.mail.api.api_key,
  domain: config.mail.api.domain
})
目前,我正在尝试使用以下代码,但不起作用:

import mailgun from 'mailgun-js'
mailgun = {
  apiKey: config.mail.api.api_key,
  domain: config.mail.api.domain
}
配置参数有一个正常工作的config.js文件。 传输代码时,控制台在日志中返回以下错误消息:


我需要知道使用这种语法的错误是什么,正确的方法是什么。谢谢。

前面的代码正在执行此操作:

需要邮枪js 将结果作为函数调用,传入一些配置 把结果当作邮枪 为了在ES6中执行同样的操作,如果我们假设该函数是默认导出,则首先导入该函数,然后调用它:

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

您可以将ES5更改为:

const mailgun = require('mailgun-js');
const your_var = mailgun({
  apiKey: config.mail.api.api_key,
  domain: config.mail.api.domain
});
在ES6中,这将是:

import mailgun from 'mailgun-js';
const your_var = mailgun({
  apiKey: config.mail.api.api_key,
  domain: config.mail.api.domain
});
相关的: