Объект уничтожения класса ES6 - PullRequest
1 голос
/ 01 апреля 2019

Как правильно применить уничтожение объектов для методов в классах ES6

user.ts

import { Request, Response } from "express";

export class User {

  constructor (){
      Object.assign(this,{
          root:this.root,
          get:this.get
      })
  }  
  public  root(req: Request, res: Response) { 
    res.status(200).send({
      message: "DEFAULT request successful!!"
    });
  }
  public get(req: Request, res: Response){
    res.status(200).send({
        message: "USER request  successful!!"
      });
  }

}

export const user = new User();

И я импортирую вот так

import  {root,get} from './user'

Но будет выдано сообщение об ошибке экспортируемого члена

ОБНОВЛЕНИЕ

На основании комментариев я изменил свой экспорт на следующий

let obj = new User();

export const user = {
    root:obj.root,
    get:obj.get
}

Но все та же ошибка

1 Ответ

1 голос
/ 01 апреля 2019

Вам нужно экспортировать root и get - деструктурируйте вашу export строку:

export const { root, get } = new User();

Если вы также хотите экспортировать пользователя:

export const user = new User();
export const { root, get } = user;

Вы также можете просто импортировать user и вручную создать функции:

import { user } from "./user";
const { root, get } = user;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...