原文:是的,是npx,不是npm——区别解释最近刚开始学习React的时候,看到很多人,包括我,当他们看到的时候一头雾水使用npx而不是npm。有人觉得奇怪,但也没多想。其他人认为这可能是一个错字并直接使用npm而不是npx运行它。在看到这种情况发生了很多次之后,我认为值得写一篇文章。这不是错字,是npx,不是npm!:)NPM众所周知,npm是Node.js的包管理器,它的职责是管理包并处理它们的依赖关系。我们可以在package.json文件中指定项目中的所有依赖(包),这样大家可以随时通过npminstall命令安装所有依赖。它还提供了版本控制,例如:你可以为项目指定某个版本的依赖,避免版本升级给我们的项目带来意想不到的风险。NPXnpx是一个用于执行Node包的工具,在npm5.2版本中与npm捆绑在一起。npx做什么默认情况下,它首先检查包是否存在(它会在本地项目的node_modules/.bin和环境变量$PATH中查找它)。如果存在,则执行它。如果不存在,会在运行前(临时)安装上面列出的是它的默认行为,当然可以通过参数来阻止。例如:运行npxsome-package--no-install告诉npx只运行some-packag包,如果它不存在则不要安装它。在此处查看更多npx参数。示例如果我们有一个名为my-package的包并且我们想要运行它。如果不使用npx,要运行一个包,必须通过包的路径执行。./node_modules/bin/my-package或在package.json的脚本中编写脚本。{"name":"something","version":"1.0.0","scripts":{"my-package":"./node_modules/bin/my-package"}}并通过npm运行my-package命令运行。现在通过npx只需npxmy-package命令就可以轻松完成。结语npx!=npm《极客阅读》汇集了国内外最优秀的技术博客、产品动态和公众号文章。开发者可以在极客阅读一站阅读互联网科技巨头的文章。《极客阅读》官网:geeker-read.com
