模块的Node.js约定需要variables名称

几乎所有我在互联网上看到的Node.js代码都使用这个约定来要求模块,其中require的返回值被赋给一个与模块同名的variables:

 var path = require('path'); var url = require('url'); 

麻烦的是,许多模块名称是我们想要在代码中的其他地方使用variables名称的相当常见的词语,例如var path = path.join(basePath, fileName) – 这可能会由于名称遮蔽而导致问题。

当然,我们可以为模块variablesselect一个不同的名称来避免名称冲突(例如pathModule或者大写Path ),但是这似乎违反了惯例。 或者我们可以在代码的其他地方为variablesselect不同的名称,例如var thePath = path.join(...) 。 在这种情况下最常见的是什么?

将模块名称保持原样:这是在Node.js中通过使用variablesbla来引用bla模块的恕我直言的惯例。

相反,当涉及到具体的用法时,我build议对variables名更具体一些,例如:

 var path = path.join(basePath, fileName); 

你不这样做只是为了好玩,你为特定的原因做这个特定的文件。 例如,你想加载一个configuration文件。 然后将该variables重命名为configurationPath或类似的东西:

 var configurationPath = path.join(basePath, fileName); 

有一个可变的刚刚命名的path是相当……好吧,它并没有告诉你很多的故事。 相反, path模块实际上是关于path的,因此可以这样命名它。

希望这可以帮助。

PS:很可能,即使configurationPath是一个坏名字,但这完全取决于你的情况,你的意图是什么。 我只是用它作为例子,不要从字面上理解。