如何导出具有多个静态方法的类

时间:2018-12-30 15:26:22

标签: node.js class export

我正在尝试在node.js中导出此类:

export class className {
  static method1(param1) {
    // do something
  }

  static method2(param1, param2) {
    // do something
  }
}

但是这使我在终端中出现以下错误:

  

complete_path ..... \ node_modules @ babel \ runtime \ helpers \ esm \ classCallCheck.js:1 [2](函数(导出,需要,模块,__ filename,__ dirname){   导出默认函数_classCallCheck(instance,Constructor){[2]
  ^^^^^^^ [2] [2]语法错误:新的意外令牌导出[2]   脚本(vm.js:83:7)[2] at createScript(vm.js:267:10)[2] at   Module._compile上的Object.runInThisContext(vm.js:319:10)[2]   (internal / modules / cjs / loader.js:685:28)[2]在   Object.Module._extensions..js(内部/模块/cjs/loader.js:733:10)   [2]在Module.load中(内部/模块/cjs/loader.js:620:32)[2]
  在tryModuleLoad(internal / modules / cjs / loader.js:560:12)在[2]   Function.Module._load(internal / modules / cjs / loader.js:552:3)[2]
  在Module.require(internal / modules / cjs / loader.js:658:17)在[2]   要求(内部/模块/cjs/helpers.js:22:18)[2] [nodemon]应用   崩溃-等待文件更改,然后再开始...

2 个答案:

答案 0 :(得分:2)

使用module.exports而不是export

module.exports = class className {

 static method1(param1) {
     // do something
 }


 static method2(param1, param2) {
     // do something
 }

}

答案 1 :(得分:2)

Node.js尚不支持export关键字。您必须使用exportsmodule.exports

您应使用module.exports

module.exports = class className {
  static method1(param1) {
    // do something
  }

  static method2(param1, param2) {
    // do something
  }
}

有关exportsmodule.exports之间的区别的更多信息,我建议您使用post