npx 是什么?

更新日期: 2019-12-24 阅读: 3.3k 标签: npx

今天在看到 create-react-app 仓库时,在其安装方式上看到这样一条指令,一脸懵逼,这是什么?

npx create-react-app my-app
cd my-app
npm start

nvm、 nrm、 npm、npx, 类似的名词屡见不鲜,npx 到底是什么?

照例来到 github, 如其官方仓库的解释:

npm package executor

这是 npm 的包执行器,那么问题来了,这是什么时候出现的一个这样的工具,之前一直没用这个工具岂不也是好好的?


npx 包执行器

查阅资料得知,npx 是 npm v5.2.0 版本之后一起打包的安装的一个包执行器,在没有这个包执行器之前,我们如何执行一个 npm 包的指令,首先我们要搞懂执行一个已安装的npm包的指令的过程。

  1. 执行一条 npm intall *** 指令后,在当前执行路径下的 node_module 文件夹下会默认添加该 npm 包对应的文件夹,并在 .bin 文件夹下生成对应的二进制执行指令
  2. 当我们在执行一条指令时,其实是在执行 .bin 文件夹下的对应的二进制指令

执行一个 npm 包就有两种方式:

  1. 直接定位到该二进制文件的路径,执行。比如: node_modules/.bin/webpack
  2. package.json 中 scripts 字段中定义快捷命令,通过 npm run * 的方式去执行

有了 npx 以后,我们就可以直接使用 npx 命令去执行了,去寻找二进制命令文件的重任就交给了它,比如 npx webpack, 再也不用去写 node_modules/.bin/***


npx 执行过程

如上介绍了 npx 执行指令对于我们来说一个显而易见的用处,那么除此之外,npx 还有一个用途就是不必全局安装一些 npm 包,直接使用 npx 命令去执行一些 npm 指令,如果本地没有安装的话会直接拉取最新的版本安装并执行。 那么 npx 的执行是一个什么样的过程:

  1. 检查预执行的 package 是否在本工程中已经安装,如果有的话直接执行
  2. 如果没有安装,则拉取远端最新版本安装并执行

注意:第一步中检查本地是否安装,npx 会去 node_modules/.bin 以及 $PATH 下需寻找该 package 对应的指令是否被安装。


npx 的一些高级用法

下面是 npx 的一些高级用法,日常开发场景下不知道会不会用到这样的定制方式。

  1. 只使用本地模块,不拉取远端,--no-install, 本地未安装时报错
  2. 忽略本地模块,只拉取远端最新的模块,--ignore-existing
  3. 指定package, -p, 指定多个模块的时候使用
  4. 多模块指令执行,-c, 指定多个模块执行时使用
  5. 执行一个远程仓库中的指令, 比如 github,(需包含 package.json 和入口脚本)

原文地址:https://monster1935.com/2019/12/23/what-is-npx/ 

 

本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://fly63.com/article/detial/7001

前端利器之 npx 使用纪要

Node.js ,如今已经是 前端开发 不可或缺的组成部分; npm 是 Node.js 默认的、以 JavaScript 编写的软件包管理系统; 而 npx 是 npm 软件包运行器 ,使用它,能够无需显式安装即可帮助执行 npm 软件包。

关于npx

npx是一种在npm中安装工具,也可以被单独的下载使用 ,npx是npm5.2之后发布的一个命令,也就是只要npm的版本>=5.2就可以使用此命令;npx有很多用处,不限于通过npx http-serve来启动静态资源服务器。

npx 使用教程

npm 从5.2版开始,增加了 npx 命令。它有很多用处,本文介绍该命令的主要使用场景。Node 自带 npm 模块,所以可以直接使用 npx 命令。万一不能用,就要手动安装一下。

Node.js中npx命令的使用方法、场景

在学习Vue-Cli时, 由于突发奇想想试试最新的@4.x.x版本, 但是本地全局安装的脚手架版本是@2.x.x的, 因为不想污染全局于是就想到用npx命令, 一路上踩坑不断, 为了以后能够更好的使用npx并区分其跟npm的指令

npx是什么,npx特点及使用

npm v5.2.0引入的一条命令(npx),引入这个命令的目的是为了提升开发者使用包内提供的命令行工具的体验。举例:使用create-react-app创建一个react项目。

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!