我刚刚开始学习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包运行器(x可能代表eXecute)。使用npx的一种常见方法是下载并临时运行一个包或进行试用。

Create-react-app是一个NPM包,预计在项目的生命周期中只运行一次。因此,最好使用npx在一个步骤中安装和运行它。

正如主页https://www.npmjs.com/package/npx中提到的,默认情况下,npx可以在PATH或node_modules/.bin中运行命令。

注意: 通过深入研究,我们可以发现create-react-app指向一个在节点环境中执行的Javascript文件(在Linux系统中可能是/usr/lib/node_modules/create-react-app/index.js)。这只是一个执行一些检查的全局工具。实际的设置由react-scripts完成,其最新版本安装在项目中。更多信息请参考https://github.com/facebook/create-react-app。

简单的定义:

NPX

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

NPM

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

NPM: NPM代表Node包管理器,是Node.js的默认包管理器。它由Isaac Z. Schlueter开发,最初发布于2010年1月12日。它完全是用JavaScript编写的。它由一个命令行客户端npm组成,用于管理所有node.js包和模块。当node.js被安装时,它被包含在安装中。

npm run your-package-name

NPX是一个用于执行包的工具。

NPX是npm的首字母缩写,NPX包是npm自带的,所以当你在5.2.0以上安装npm时,NPX会自动安装。

它是一个npm包运行器,可以从npm注册表中执行任何你想要的包,甚至不需要安装那个包。npx在单次使用包中非常有用。如果你在5.2.0以下安装了npm,那么npx不会安装在你的系统中。

执行以下命令确定是否安装了npx:

npx -v

如果未安装npx,则可以执行以下命令。

npm install -g npx

使用npx执行包:

npx your-package-name

NPM是用来安装包的工具,NPX是用来执行包的工具。 如果你想通过npm运行一个包,那么你必须在你的包中指定这个包。并在本地安装它。 npx-一个包不需要安装就可以执行。它是一个npm包运行器,所以如果任何包还没有安装,它会自动安装它们。

NPM代表节点包管理器。 它预装在Node.js中。NPM有助于将项目中的包作为依赖项来管理。

在使用NPM时,有两种方法将包安装到本地计算机中。

本地:当一个包在本地安装时,它被安装在 ./node_modules/.bin/ 全局:在用户环境中安装全局包 路径。Linux为“/usr/local/bin”,Windows为“AppData%/npm”。

要执行本地安装的包,应该在包中指定。Json脚本块如下所示。

"scripts": {
    "your-package":  "your-package-name"
}

然后,你可以执行这个包:

npm run your-package-name

NPX是一个NPM包执行器。 目前,当你安装NPM 5.2.0或更高版本时,NPX与NPM捆绑在一起。

为什么NPX胜过NPM?

不需要编辑包。带有node_modules路径的Json文件。 您可以直接从命令行执行该工具。