ES6:“如果没有| new |,则不能调用类构造函数”在实例化一个类扩展另一个

时间:2018-12-11 07:24:54

标签: javascript webpack es6-class

我制作了restful-json-api-client软件包,该软件包实现了一个简单的ES6类:

export default class RestfulClient {
  constructor (baseUrl = '', { resource = '', headers = {} } = {}) {
    // ...
  }
}

在我的新React应用程序中安装了这个包之后,我试图按原样使用它(以及库的测试一样):

UsersApi.js

import RestfulClient from 'restful-json-api-client'

export default class UsersApi extends RestfulClient {
  constructor() {
    super(process.env.REACT_APP_BACKEND_URL, {
      resource: 'users'
    })
  }
}

actions/user.actions.js

import UsersApi from 'apis/UsersApi'

const register = (email, password) => {
  return (dispatch) => {
    new UsersApi().create({ email, password }).then(
      // ...
    )
  }
}

运行此代码失败:

Unhandled Rejection (TypeError): Cannot call a class constructor without |new|

RestfulClient
node_modules/restful-json-api-client/index.js:2

UsersApi
src/features/users/apis/UsersApi.js:4
  1 | import RestfulClient from 'restful-json-api-client'
  2 | 
  3 | export default class UsersApi extends RestfulClient {
> 4 |   constructor() {
  5 |     super(process.env.REACT_APP_BACKEND_URL, {
  6 |       resource: 'users'
  7 |     })

restful-json-api-client/index.js:2

任何人都可以向我解释这里出了什么问题以及如何解决此问题?

更新

我尝试创建一个要扩展的类,但是在我的项目中,该类正在运行,因此问题出在软件包导入,所以我想这与我使用的Webpack有关。

0 个答案:

没有答案