是否可以导出整个 Node.JS 模块而不包装成 function/class?

Is it possible to export the whole Node.JS module without wrapping into a function/class?

是否可以导出整个Node.JS模块并具有以下特点:

  1. 从另一个模块导入这个模块
  2. 将所有 methodsattributes 设置到此模块中
  3. 不希望将我模块中此代码的任何部分包装到function/class?

例如,我想创建一个 REST.js 模块,它具有以下属性和方法:

let a = 10
let b = 20
const funcA = (x) => {
//functionA code
}
const funcB = (x, y) => {
//functionB code
}

需要使用一些语法将此模块导入 app.js,这使我能够使用以下 API(或类似的)从 REST.js 获取属性和使用方法:

const REST = require('REST')

//get attributes
console.log(REST.a)
console.log(REST.b)

//use methods

let resA = REST.funcA(10)
let resB = REST.funcB(10, 20)

总而言之,我想知道是否有类似Python的语法来使用模块。

是的,但是在 NodeJS 中,您必须像这样显式导出 variables/functions

let a = 10
let b = 20
const funcA = (x) => {
//functionA code
}
const funcB = (x, y) => {
//functionB code
}

module.exports = {
  a,
  b,
  funcA,
  funcB
}