首页 > 解决方案 > Javascript/Express - 导出所有方法与导出包含方法的类

问题描述

我在遇到这个被忽视的问题时感到困惑,比如它们有什么不同?

Module.exports = {
  search_companies(req, res) {
    //some ops
  },

  get_details(req, res) {
    //some ops
  }
};

对比

class MainContrller {

  search_companies(req, res) {
      //some ops
    },

    get_details(req, res) {
      //some ops
    }
}

module.exports.MainController = MainController;

标签: javascriptnode.jsexpress

解决方案


第一个导出一个带有函数search_companiesand的对象get_details。因此,您可以调用这些函数对导出的对象起作用。

第二个导出MainController具有函数search_companies和的类get_details。在这里,您必须创建一个实例MainController才能在实例上调用这两个函数。

如果整个项目只需要该对象的一个​​实例,则使用第一种语法。它就像一个单例或像静态的,但不需要为它定义一个实际的类。

如果您需要多个不同的MainController.


推荐阅读