译者 | 布加迪
二连浩特网站建设公司创新互联建站,二连浩特网站设计制作,有大型网站制作公司丰富经验。已为二连浩特上千家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的二连浩特做网站的公司定做!
审校 | 孙淑娟
Node最好的特性之一是软件包管理器。有许多不同的方法来安装和管理Node软件包,本文介绍使用一个或多个软件包管理器各自的优缺点,以及结合使用软件包管理器的几个最佳方法。
在软件开发领域,依赖项是运行项目所必需的,它们如同食谱配料一样不可或缺。
假设您在编写一个使用JavaScript的应用程序,它想要访问来自jQuery库(许多网站曾经使用jQuery库)的一些函数,那么jQuery将是您的依赖项之一。您需要安装jQuery,这样有人访问您的网站时,可以看到您用它创建的那些很酷的动画或交互元素!
软件包管理器通过为我们管理依赖项来帮助管理这些项目之间的关系,所以每当我们想要添加或更新内容时,不必为自己手动下载而操心,它们还确保在安装后一切都能正常工作、顺畅运行(这有时说起来容易做起来难)。
NPM是默认的软件包管理器,因此它被内置到Node运行时环境中。您可以使用NPM直接从GitHub网站或NPM安装软件包,也可以将您的软件包发布到这个网站,这样其他人就可以使用自己版本的NPM来安装它们。
NPM不仅仅用于安装软件,还可以处理应用程序代码库中两个或多个所需库或模块之间的依赖项解析和版本冲突。
这意味着,如果在您的服务器上随时有Express之类的多个版本在运行,NPM将确保每个实例得到它所需的东西,不会与从事类似任务的其他实例发生冲突,而且根本不需要您采取任何特殊的操作,只需要在需要时对对象调用require() !
NPM是一种功能很强大的工具,很容易上手。但是如果您刚接触Node和JavaScript,了解哪些工具可供使用以及哪些工具最适合某个项目可能具有挑战性。
NPM的主要问题是,软件包安装起来很慢。如果您只是运行一两个偶尔的脚本,这不是大问题,但如果您试图构建一个使用数十个不同库和工具的完整应用程序,这可能会让人备感沮丧。
Yarn是可以替代NPM的一种安全可靠的方案,它使用锁文件来防止意外覆盖,并确保在安装软件包时正确解析依赖项。
安装起来也比NPM快,如果您处理的大型项目涉及拥有众多依赖项的许多模块,这点尤其有用。
PNPM是Yarn和NPM的替代者,但它的人气还不是很旺,因为它没有其中任何一个的一些功能(比如锁文件)。然而其开发人员声称,由于具有轻量级特性,PNPM安装软件包的速度比Yarn或NPM快四倍,这也意味着您的计算机上少占用磁盘空间!
如果您在构建的项目只需要少量依赖项,那么Yarn或NPM可能就足够了。但是如果您在处理的大型项目涉及许多模块和依赖项,那么PNPM可能是更好的选择。
一个软件包管理器一次只能处理任何某个库的一个版本。如果您希望为其他项目或不同的环境(比如生产环境与开发环境)使用同一个库的两个不同版本,那么需要在系统上安装两个单独的软件包。
如果两个软件包同时试图更新相同依赖项的版本,可能导致冲突。使用多个软件包管理器意味着您可以更好地控制安装哪些依赖项以及安装位置,这有助于避免此类冲突。
另一个好处是,使用多个软件包管理器时,每个软件包管理器都将提供各自独特的功能特性。一些软件包管理器可能更快,一些可能拥有更好的依赖项管理功能,另一些则可能更适合使用某些框架(比如ReactJS或VueJS)开发应用程序。
最后,使用多个软件包管理器可以减少搜索和安装依赖项所花费的时间,从而帮助提高开发人员的工作效率,这是由于每个软件包管理器在设计时都考虑到针对一组特定的用例(比如侧重速度、安全或依赖项管理等方面)。
使用命令行,您可以指定要为特定项目使用哪个软件包管理器。在系统上安装多个软件包管理器:
注意,全局安装意味着所选择的软件包可供整个系统使用(您可以通过命令行在任何地方访问程序),而本地安装只能由当前工作目录访问。
不妨看看这些用法:
1. Yarn和NPM可以一起使用(比如create-react-app)
如果您想要充分利用Yarn的速度和效率,同时仍与NPM软件包保持兼容性,这种方法非常有用。如果您需要一个还没有更新的库的最新版本与Yarn兼容,或者如果您的团队因其他原因而宁愿坚持使用NPM,尽管速度较慢或功能有限,那么这可能很适合您的项目。这种方法还有助于避免您的单一代码库(mono repo)环境中有两棵独立的依赖树!
2. 将Yarn用于全局软件包,将PNPM用于本地安装
虽然PNPM是最快的软件包管理器,但用于全局安装的软件包可能有些棘手。这是由于它使用不同的文件结构,可能会导致与Visual Studio Code等程序之间的兼容问题,这时候Yarn就有了用武之地。可以将Yarn用于全局安装的软件包,将PNPM用于本地安装。这个解决方案是集两个软件包管理器的优点于一体的好方法,不必大幅改动工作流程。有了这种方案,您可以从系统中完全删除NPM(拥有NPM这个备份始终是好主意)。
3.使用PNPM和NPM作为后备
如果您想使用PNPM,又不想让所有开发人员都得学习一种新工具,这是一种值得考虑的好选择。它允许开发人员继续使用NPM,直到他们熟悉PNPM、需要它来完成工作。
您可以使用多个软件包管理器;可以在全局或本地安装,如果您想指定哪个软件包管理器应该用于某个项目,只需使用命令行!
如果您想在系统上安装多个软件包管理器,确保使用的是同一版本的Node.js。
总之,我们认为您应该使用多个软件包管理器。如果您已经熟悉NPM,这是开始上手Node和学习一些新工具的好方法。如果您还没有安装Node,在Windows上安装其实很简单。
原文标题:Why You’ll Probably Want To Use More Than One Node Package Manager,作者:Brian Walker
文章名称:为什么您可能想要使用不止一个Node软件包管理器?
文章位置:http://www.shufengxianlan.com/qtweb/news14/219614.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联