javascript - 在 Node module.exports = {} 中导出一个类

标签 javascript node.js ecmascript-6

我想导出模块中具有静态方法的类以及其他函数。我正在尝试做

module.exports = {
  fun: function(){},
  class: MyClass
}
class MyClass {
  static get prop() {
    return 'property';
  }
}

但是它不起作用。有没有办法将类导出为 module.exports 对象的一部分?

最佳答案

类定义不会被提升,这意味着当您声明这些导出时,您的类将不在范围内。将它们移至定义下方。

class MyClass {
  static get prop() {
    return 'property';
  }
}
module.exports = {
  fun: function(){},
  class: myClass
}

您还需要修复导出变量的大小写。

module.exports = {
  fun: function(){},
  class: MyClass
}

根据您的 Javascript 环境,如果您尝试使用保留字 class 作为文字对象属性,则可能会出现编译时错误。您可以将其包装在字符串中以避免这种情况。

module.exports = {
  fun: function(){},
  "class": MyClass
}

关于javascript - 在 Node module.exports = {} 中导出一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35744099/

相关文章:

javascript - 如果修改原型(prototype)会有什么不好的副作用吗?

html - 使用 Express.js 提供纯文本 SVG(与 Cheerio.js 相关的解决方案)

javascript - 从键数组访问对象的属性

javascript - 无法在循环下工作我的第二个评论框

javascript - WASM 可以用来检查 JS 方法的完整性吗?

javascript - 这种制作热图矩阵的方法正确吗

javascript - 为什么使用 `=` 文字而不是部分 `AssignmentOperator` 符号为赋值运算符指定单独的产生式

javascript - jQuery $.extend 导致第一个对象完全被第二个对象替换

javascript - 如何在 NodeJS 中使用 PhantomJS 模拟鼠标悬停或在页面上运行 JS 功能

javascript - spread 元素在这里起什么作用