我最近遇到了一个广泛使用cnpm进行包管理的项目。我看到了类似的东西 var a = require(@ renil / a);
在需要模块时,我从未在节点中看到类似这样的东西(@)。 任何人都可以帮助我
答案 0 :(得分:3)
这些实际上是两个无关的事情。 cnpm在我看到你的问题之前我没有听说过。谷歌搜索后,它似乎是一个中文维护的节点模块注册表。不确定还有什么不同,但我可能会远离它,除非你知道你需要它。
包名称中的@符号与作用域相关模块有关。 npm文档中详细介绍了这一点:https://docs.npmjs.com/misc/scope
答案 1 :(得分:2)
这些是here:
所有npm包都有一个名字。某些包名称也有范围。范围遵循包名称的通常规则(URL安全字符,没有前导点或下划线)。在包名称中使用时,前面带有@ -symbol,后跟斜杠,例如
@somescope/somepackagename
范围是一种将相关包分组在一起的方式,也会影响npm处理包的方式。