我刚刚开始学习React, Facebook通过提供以下现成的项目来帮助简化初始设置。
如果我必须安装框架项目,我必须在命令行中键入npx create-react-app my-app。
我想知道为什么Facebook在Github有npx create-react-app my-app而不是npm create-react-app my-app?
我刚刚开始学习React, Facebook通过提供以下现成的项目来帮助简化初始设置。
如果我必须安装框架项目,我必须在命令行中键入npx create-react-app my-app。
我想知道为什么Facebook在Github有npx create-react-app my-app而不是npm create-react-app my-app?
当前回答
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文件。 您可以直接从命令行执行该工具。
其他回答
下面是一个使用npx创建应用程序的示例
NPX create-react-app project-name——template all
简单地说,npm就是节点包管理器 NPX是运行NPM包的可执行版本
实际上,我尝试了很多方法来解决这个问题,但都失败了,最终全局删除/删除yarn解决了这个问题
只需在命令行终端输入以下命令:
NPM卸载yarn
然后运行下面的命令来安装react starter项目
npx create-react-app
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。
NPM与NPX的区别如下:
i) NPM用于安装包,NPX用于执行包。
ii)由于npm的缘故,安装的包必须被照顾,因为它是全局安装的,而npx使用的包不需要被照顾,因为它们不是全局安装的。