为什么在module.exports之外声明'required variables'

时间:2014-11-28 17:23:53

标签: node.js

我知道功能是在module.exports中的作用域。但我总是看到外面声明的变量。所以它不应该在里面吗?

var bcrypt = require('bcrypt');

module.exports = {
  ...
}

1 个答案:

答案 0 :(得分:1)

module.exports之外的代码在文件外部不可见。通常包括您正在编写的代码中使用的库和函数。我想你可以认为这是"私人"函数/变量。

我不知道你是否在module.exports中编写代码,但我不愿意。我发现这更具可读性:

var doSomethingImpl = function(){
}

module.exports = {
   doSomething: doSomethingImpl
}

var doSomethingImpl = function(){
}

module.exports.doSomething = doSomethingImpl

甚至

module.exports.doSomething = function(){
}