为CommonJS模块使用作用域函数的常见做法,或者不必要的

Common practice to use scoped functions for CommonJS modules, or unnecessary?

本文关键字:常见做 或者 不必要 函数 模块 CommonJS 作用域      更新时间:2023-09-26

我正在写我的第一个CommonJS模块。

在一个作用域函数中定义CommonJS模块是常见的做法吗?

(function() {
  module.exports = ...
})();

还是这里没有值?

不,没有必要。将所有的代码包围在一个立即调用的函数表达式(生命)中是解决基于浏览器的问题的一种方法。

如果你的模块在Node.JS中使用,该模块将在它自己的作用域中执行。参见他们的文档页面的例子,没有一个使用生命。然而,如果你在浏览器中使用CommonJS模块,你需要将你的CommonJS模块与watchify或CommonJS -everywhere这样的工具捆绑在一起。这些工具将每个模块定义放入其自己的封闭函数中,实现与生命相同的保护。

相关文章: