npx 命令介绍
2024-10-19 04:43:09
这个是在 npmv5.2.0
引入的一条命令(查看),引入这个命令的目的是为了提升开发者使用包内提供的命令行工具的体验。
为什么引入这个命令
举个例子,我们开发中要运行 parcel 命令来打包:parcel index.html
,以前有这么几种方式:
- 全局安装 parcel,但有时不同项目使用不同版本,不允许使用全局包,只能考虑下面一些方法
- 使用 npm scripts,在 package.json 加一个 script
"scripts": {
"start": "parcel index.html"
}然后执行 npm run start
- 将 node_modules 的可执行目录(.bin)加到 PATH 中
alias npmx=PATH=$(npm bin):$PATH
然后执行 npmx parcel index.html
- 指定可执行命令路径
./node_modules/.bin/parcel index.html
现在我们有了 npx
命令,就不在需要考虑以上方法了(其实npx
是对方法 3 的封装)。当我们执行 npx parcel index.html
时,会自动去./node_modules/.bin
目录下搜索。
npx
还允许我们单次执行命令而不需要安装,例如:
npx create-react-app my-cool-new-app
这条命令会临时安装 create-react-app 包,命令完成后 create-react-app 会删掉,不会出现在 global 中。下次再执行,还是会重新临时安装。
npx命令找包顺序:先自动查找当前依赖包中的可执行文件,如果找不到,就会去 PATH 里找。如果依然找不到,就会帮你临时安装,执行完后再删除包。
特点:
- 临时安装可执行依赖包,不用全局安装,不用担心长期的污染。
- 可以执行依赖包中的命令,安装完成自动运行。
- 自动加载node_modules中依赖包,不用指定$PATH。
- 可以指定node版本、命令的版本,解决了不同项目使用不同版本的命令的问题。
最新文章
- 用JS实现的类似QQ密码的输入特效
- AJAX请求中含有数组解决办法
- EXTJS 4.2 资料 控件之Grid 添加行,编辑行,删除行
- EC读书笔记系列之5:条款9、条款10
- HDFS建筑与shell操作
- SpringMVC HelloWorld实例开发及部署
- MFC原理第一讲.MFC的本质.以及手工编写MFC的程序
- [JavaScript] 邮箱验证
- HTTP Error 500.22 - Internal Server Error 错误解决方案
- Maven整合Spring3.0+Mybatis3.2+Struts2.3+查找坐标+jar包依赖(五)
- P3420 [POI2005]SKA-Piggy Banks
- DX9 顶点缓存案例
- ActiveMQ——activemq的使用java代码实例(精选)
- LeetCode: Palindrome Partitioning II 解题报告
- 20155218 2016-2017-2 《Java程序设计》第8周学习总结
- java项目部署之后,Jar包中配置文件修改
- angular 自定义指令参数详解
- leetcode219
- OpenERP 7 picking order 继承需要注意的地方
- 深入 CommonJs 与 ES6 Module