npx 和 npm 区别

文章目录

  • 背景
  • 作用
  • 执行流程

背景

  • 解决 npm 之前的执行包中的命令行需要先下载的问题,如果有多个不同版本的包就需要下载多次
  • 比如已经装了全局的 webpack 1.x 版本并且还要继续使用,还需要装个 webpack 4.x 使用的其相应功能,这个时候可以不装在全局,用 npx webpack 代替 webpack 命令,互不干扰。

作用

  • 避免下载多个库造成的体积浪费、污染等问题
  • 可以指定运行多个版本互不干扰
  • 可以方便临时切换某个 node 版本执行
npx node@14 -v
# v14.18.0

npx -p node@14 node -v 
# v14.18.0

执行流程

  • npx create-react-app my-app
    • npx 和 npm exec 类似,传递的参数格式有区别
  • $PATH 里有没有,如果没有,查找当前目录的 node_modules 里有没有,如果还是没有,就安装这个库来执行
  • npx 会在执行完命令后删除下载的包

你可能感兴趣的:(cli,工程化原理,npm,前端,node.js)