小tips:npm与npx的区别

npm

npm是Node.js的软件包管理器,其目标是自动化的依赖性和软件包管理。

这意味着,可以在package.json文件中为项目指定所有依赖项(软件包),当需要为其安装依赖项时,只要运行npm install就可以。

npx

npx是执行Node软件包的工具,它从 npm5.2版本开始,就与npm捆绑在一起。

npx的作用:

  • 1.默认情况下,首先检查路径中是否存在要执行的包(即在项目中);
  • 2.如果存在,它将执行;
  • 3.若不存在,意味着尚未安装该软件包,npx将安装其最新版本,然后执行它;

上文已说明,此行为是npx的默认行为之一,但它具有可用来阻止的标志。

例如,如果运行npx some-package --no-install,意味着告诉npx ,它应该仅执行。some-package,如果之前未安装,则不安装。

示例:假设有一个名为my-package的软件包,想要执行它。若没有npx,要执行一个软件包,必须通过其本地路径运行来完成,如下所示:

./node_modules/.bin/my-package

或在 package.json文件的 scripts 中将其定义为单独的脚本,如下所示:

{
  "name":"XXX","version": "1.0.0": {
    "my-package":"./node_modules/.bin/my-package"
  }
}

然后使用npm run my-package运行。

现在,运用npx,只需运行npx my-package.,即可轻松实现此目的。

 

相关文章

一准备工作umi为react的一个封装比较nice的脚手架。优点当然...
webpack在引入两个依赖的包时,可能需要使用shimming,意思是...
  Happypack (plugin)多线程使用loader编译文件treeshaki...
一目录结构├──build//构建相关├──config//配置相关├─...
接着第一节的demo现在我们尝试整合一些其他资源,比如图像,...
webpack的打包原理识别入口文件通过逐层识别模块依赖(Common...