在Nodejs中,我们有两个命令来管理和运行库
- npm:Node软件包管理器
- npx:Node包的可执行运行器
以上两个命令都是默认安装的nodejs。
什么是npm?
npm是一个简单的命令行工具,用于管理(安装、卸载)Nodejs中的node javascript包。
用它来运行和执行已安装的包并不容易。
什么是npx?
npx是一个命令行工具,可以在本地运行软件包,而无需安装软件包。
npm和npx的区别
例如,我们需要创建一个全新的 react 应用。为此,我们必须使用create-react-app cli。
让我们用npm来创建一个应用程序。
首先,使用npm命令安装create-react-app。
我们可以在本地(不带-g)或全局(-g选项)安装。
npm install create-react-app -g
它将 create-react-app 从远程 repo 安装到本地开发者机器上。 全局安装过程
- 使用-g选项进行全局安装
- 它在全局npm目录下创建一个node_modules文件夹--Linux下为/usr/local/文件夹,windows下为
%AppData%/npm。 - 同时,为全局npm目录下的
bin文件夹创建链接。
本地安装过程
- 在本地不使用
-g选项 - 它在应用程序目录下创建一个node_modules文件夹。
- 同时,在application/node_modules/.bin文件夹中创建
bin文件夹的链接。 - 这个路径是可用的,安装的软件包命令可以从应用程序文件夹中访问。
一旦,create-react-app被安装,它就会创建一个链接,并且create-react-app命令在全球范围内工作。
运行下面的命令来创建一个react应用程序
它创建了一个脚手架式的react应用app1,包含所有需要的文件和脚本,也安装了依赖关系。
让我们用npx创建一个react应用。
npx create-react-app my-app
通过一个命令,它做了以下事情
- 它从npm资源库中安装create-react-app
- 将软件包的可执行文件复制到本地路径
- 带着所有需要的参数直接运行该命令
这两种方法(npm、npx)都可以用来使用create-react-app创建一个react应用。
create-react-app是一个创建react应用的一次性过程,它不需要全局安装,所以npx避免了为命令行执行而下载到本地。
因此,选择npx而不是npm工具总是一个好主意。