功能导出未按预期工作

时间:2018-01-10 11:10:21

标签: javascript node.js ecmascript-6 require

拥有以下内容:

module.exports = function() {
  const LOGIN_URL = 'https://localhost/admin/login'
  const URL_ROOT = 'http://localhost/managed/'

  function createHeaders() {
    return {
      Accept: 'application/json',
     'Content-Type': 'application/json',
      Authorization: 'Basic RW1....M='
    }
  }

  function login(userInfo) {
    return post(LOGIN_URL, userInfo)
  }

  function listRoles() {
    return get(URL_ROOT + 'role?_queryFilter=true')
  }

  return {
    login,
    listRoles,
    ...
  }
}

使用require()导入此内容并按照应用程序架构的要求粘贴在我的GraphQL解析程序中。

登录工作正常,但当我尝试api.listRoles().then(...)时,会出现错误:GraphQLError: api.listRoles is not a function

我的导出有什么问题

1 个答案:

答案 0 :(得分:1)

使用以下格式。

module.exports = {
    LOGIN_URL: 'https://localhost/admin/login',
    URL_ROOT: 'http://localhost/managed/',

    createHeaders: function () {
        return {
            Accept: 'application/json',
            'Content-Type': 'application/json',
            Authorization: 'Basic RW1....M='
        }
    },
    login: function () {
        return post(LOGIN_URL, userInfo);
    },
    listRoles: function () {
        return get(URL_ROOT + 'role?_queryFilter=true');
    }
};