是否可以导出整个Node.JS模块而不包装到函数/类中?

问题描述

是否可以导出整个Node.JS模块并具有以下功能

  1. 从另一个模块导入该模块
  2. 将所有methodsattributes设置到该模块中
  3. 不想代码从模块中包装到函数/类中吗?

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

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

该模块需要使用某种语法导入app.js中,这使我能够使用以下API(或类似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
}