我刚刚开始学习React, Facebook通过提供以下现成的项目来帮助简化初始设置。

如果我必须安装框架项目,我必须在命令行中键入npx create-react-app my-app。

我想知道为什么Facebook在Github有npx create-react-app my-app而不是npm create-react-app my-app?


当前回答

NPM是一个包管理器,你可以使用NPM安装node.js包

NPX是一个执行node.js包的工具。

无论您是在全局还是本地安装该包。NPX将临时安装并运行它。如果你配置了一个包,NPM也可以运行一个包。Json文件,并包括在脚本部分。

所以请记住,如果您想快速检查/运行一个节点包,而不需要在本地或全局安装,请使用NPX。

npM -经理

npX -执行-容易记住

其他回答

简单的答案是

NPX:用于执行任何节点包,而无需在我们的机器上安装包。

NPM:用于在我们的机器上安装任何node js包。当我们使用NPM安装任何包时,我们可以使用"require("package-name')"。但是我们在使用NPX的时候不能导入这个包。

示例:你应该运行npm i axios 在本例中,您正在本地机器上安装axios包

NPX create-react-app 'app-name' 在这里,你直接在你的机器上执行create-react-app包,而不安装它的文件。

NPM =>是一个JS包管理器。

NPX =>是一个执行Node包和执行npm包二进制文件的工具。

很容易记住:

-npm代表MANAGER

-npx代表EXECUTE

这里有一个NPX的例子:NPX cowsay hello

如果您将其输入到bash终端,您将看到结果。这样做的好处是npx临时安装了cowsay。没有包装污染,因为cowsay不是永久安装的。这对于想要避免包装污染的一次性包装非常有用。

正如在其他回答中提到的,npx在运行前需要安装并配置包的情况下也非常有用(使用npm)。例如,不用使用npm来安装和配置json。包文件,然后调用配置的运行命令,只需使用NPX代替。一个真实的例子: create-react-app my-app

简单的定义:

NPX

npx代表节点包执行,它随npm而来, 当你在5.2.0版本以上安装NPM时,NPX会自动自动的 安装。它是一个npm包运行器,可以执行任何包 你想从NPM注册表中得到的,甚至不需要安装它 包中。

NPM

npm是JavaScript编程语言的包管理器 的默认包管理器 JavaScript运行时环境。它由一个命令行组成 客户端,也叫npm,是一个公共和付费的在线数据库 私人包

另一方面,npx使用的包并不是全局安装的,所以你必须担心长期的污染。