【发布时间】:2017-04-08 21:48:47
【问题描述】:
在哪里可以使用 npm 包?我在Angular中使用了一些,在Node中使用了一些,但是所有npm包都可以在每个Javascript运行时环境中使用吗?
编辑:对于所有反对这个问题的人,如果我作为新手在这里无法获得帮助,我可以从哪里获得?
【问题讨论】:
标签: javascript node.js npm
在哪里可以使用 npm 包?我在Angular中使用了一些,在Node中使用了一些,但是所有npm包都可以在每个Javascript运行时环境中使用吗?
编辑:对于所有反对这个问题的人,如果我作为新手在这里无法获得帮助,我可以从哪里获得?
【问题讨论】:
标签: javascript node.js npm
npm 可以用于任何环境。它基于你的需要。专门用于javascript,它有数百万个可以使用的包。
【讨论】:
不,不是所有的 npm 包都可以在任何环境中使用。
【讨论】:
Npm 只是一个包管理系统。理论上是的,您可以在浏览器或节点环境中运行包。但通常情况并非如此。
Npm 包主要用于节点环境(不是浏览器)。可以用 express 等包编写服务器,也可以用 nodejs 运行 gulp 等任务。
如果你想做前端开发,bower 是一个流行的选择。
不同之处在于如何管理依赖项。
【讨论】:
public 或 client 文件夹并在那里安装客户端包。
npm 本身可用于拉取和管理兼容存储库(或本地文件系统或 git 等)中的任何包。
但是,您是否可以在给定环境中使用给定包完全取决于该特定包的维护者。 npm 本身对此没有任何限制,甚至(不幸地)没有一个简单的系统来指示包适用的环境。
按环境来说,它比网络和浏览器要复杂得多。在某些情况下,它也是操作系统(并非所有 Node 包都独立于操作系统)。但即使对于网络和浏览器,也要意识到有些事情在某些环境中是没有意义的。您的客户端浏览器应用程序无法访问客户端的文件系统,因此文件处理模块将很难在那里工作。
最后,正如我在评论中所说,我想说,虽然 JS 应用程序包管理有很多选项,但我发现 npm 是一个非常可靠的选项,可以在所有环境中使用。它创建了一个您可以坚持的标准。也就是说,这确实意味着您必须对包装选择进行尽职调查,以确保您所使用的东西对您使用它的地方有意义。
【讨论】: