几乎我在互联网上看到的所有Node.js代码都使用这种约定来要求模块,其中require的返回值被赋值给一个与模块同名的变量:
var path = require('path'); var url = require('url');
麻烦的是,许多模块名称是我们希望用于代码中其他地方的变量名称的相当常见的单词 – 例如. var path = path.join(basePath,fileName) – 由于名称阴影可能会导致问题.
当然,我们可以为模块变量选择一个不同的名称来避免名称冲突(例如pathModule或大写路径),但这似乎打破了约定.或者我们可以为代码中的其他地方选择不同的名称 – 例如. var thePath = path.join(…).在这种情况下最常见的是什么?
解决方法
保留模块名称:Node.js中的IMHO常见做法是使用变量bla来引用bla模块.
var path = path.join(basePath,fileName);
你不是为了好玩而这样做,你是出于特定原因为特定文件执行此操作.例如,您要加载配置文件.然后将变量重命名为configurationPath或类似的东西:
var configurationPath = path.join(basePath,fileName);
拥有一个名为path的变量非常……好吧,它并没有告诉你很多故事.相反,路径模块实际上是路径,因此可以这样命名.
希望这可以帮助.
PS:很可能,甚至配置路径都是一个坏名字,但这完全取决于你的情况和你的意图.我只是用它作为一个例子,不要从字面上理解它.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。