javascript - 导入带有属性的 ES6 模块

标签 javascript node.js ecmascript-6 mailgun

我在服务器上使用 ES6 和 NodeJS。我使用 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 文件。 转译代码时,控制台在日志中返回以下错误消息:

Log Message

我需要知道使用该语法的错误是什么,以及执行此操作的正确方法是什么。谢谢。

最佳答案

前面的代码是这样做的:

  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
});

关于javascript - 导入带有属性的 ES6 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42738179/

相关文章:

javascript - 如何 promise 这个递归函数

javascript - NodeJS 创建 REST Post API

javascript - 解构的 es6 export 是一个有效的语法吗?

javascript - 在d3js中的svg圆圈内添加svg文本

javascript - 使用javascript查找DOM元素的位置

javascript - 如何将两个单选按钮的输入分配给单个字段?

node.js - Docker Compose 上的 Postgres ECONNREFUSED 与 NodeJS

javascript - Node 的事件循环是否意味着我需要重新考虑用户变量存储?

javascript - 如何使用 jquery 将 javascript 对象传递给另一个函数

node.js - 错误接收器-[onTurnError] : TypeError: Cannot read property 'getTeamDetails' of undefined