Nodejs 第六章(npx)

npx是什么

npx是一个命令行工具,它是npm 5.2.0版本中新增的功能。它允许用户在不安装全局包的情况下,运行已安装在本地项目中的包或者远程仓库中的包。

npx的作用是在命令行中运行node包中的可执行文件,而不需要全局安装这些包。这可以使开发人员更轻松地管理包的依赖关系,并且可以避免全局污染的问题。它还可以帮助开发人员在项目中使用不同版本的包,而不会出现版本冲突的问题。

npx 的优势

  1. 避免全局安装:npx允许你执行npm package,而不需要你先全局安装它。
  2. 总是使用最新版本:如果你没有在本地安装相应的npm package,npx会从npm的package仓库中下载并使用最新版。
  3. 执行任意npm包:npx不仅可以执行在package.jsonscripts部分定义的命令,还可以执行任何npm package。
  4. 执行GitHub gist:npx甚至可以执行GitHub gist或者其他公开的JavaScript文件。

npm 和 npx 区别

npx侧重于执行命令的,执行某个模块命令。虽然会自动安装模块,但是重在执行某个命令

npm侧重于安装或者卸载某个模块的。重在安装,并不具备执行某个模块的功能。

示例

create-react-app.bootcss.com/docs/gettin...

例如创建一个react项目 在之前需要安装到全局

sh 复制代码
npm install -g create-react-app

然后执行 create-react-app my-app 这样的话会有两个问题

  • 首先需要全局安装这个包占用磁盘空间
  • 并且如果需要更新还得执行更新命令

示例2

bash 复制代码
npm ls -g 查看全局安装的包

我全局并没有安装vite

当前项目安装vite

css 复制代码
npm i vite -D

安装完成之后发现无法执行运行vite命令

这时候就可以使用npx vite

npx 的运行规则和npm 是一样的 本地目录查找.bin 看有没有 如果没有就去全局的node_moduels 查找,如果还没有就去下载这个包然后运行命令,然后删除这个包

相关推荐
IT_陈寒18 小时前
SpringBoot这个自动配置坑我跳了三次
前端·人工智能·后端
kyriewen18 小时前
我用 AI 一周写完了整个项目,上线第一天就崩了——这是我踩过最贵的 5 个坑
前端·javascript·ai编程
牧艺18 小时前
从零到协同:构建类飞书在线文档系统的五个技术重难点
前端·人工智能
红尘散仙19 小时前
想写一个像样的终端 App?试试把 React 的开发体验搬进 Rust TUI
前端·rust
袋鼠云数栈UED团队19 小时前
一套 Spec-First 的 AI 编程工作流
前端·人工智能
袋鼠云数栈前端20 小时前
一套 Spec-First 的 AI 编程工作流
前端·ai+
angerdream20 小时前
Android手把手编写儿童手机远程监控App之vue3 路由守卫
前端
不服老的小黑哥20 小时前
AI规范驱动编程-harness工程项目实战
前端
vivo互联网技术20 小时前
从 Web 到桌面:基于 Tauri 2.0 + Vue 3 打造 vivo 线下门店「大头贴」拍照体验系统
前端·rust
光影少年20 小时前
React 合成事件机制、和原生事件区别、事件冒泡阻止
前端·react.js·掘金·金石计划