javascript - 对象解构 ES6 类

标签 javascript typescript express ecmascript-6

如何为 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'

但是会抛出 has no exported member 的错误

更新

根据评论,我将导出更改为以下内容

let obj = new User();

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

但是还是一样的错误

最佳答案

您需要导出 rootget - 解构您的 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;

关于javascript - 对象解构 ES6 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55451345/

相关文章:

node.js - 两个本地 Node.js 服务器上的 session

javascript - 如何删除 :hover?

javascript - 模式名称 T |数组<T>

javascript - 如何在网站上实现 "drag n drop"用户界面?

angular - 使用 TypeScript、Angular 2 和 SystemJS 进行基于接口(interface)的编程

javascript - Angular 2\TypeScript 中 export 关键字的确切含义是什么?

node.js - Expressjs。从原型(prototype)函数调用构造函数中的函数时出现类型错误

node.js - Express静态服务器-设置dir文件夹

javascript - Backbone.js 如何在不使用 ID 的情况下跟踪 DOM 元素?

javascript - 处理对 API 的 25,000 个 GET 请求