UNPKG

hudada-cli

Version:

专为程序员准备的本地文档搜索,快捷开发工具

143 lines (108 loc) 2.77 kB
# NPX 详解 ## 1. 什么是 NPX? NPX 是 npm 5.2+ 版本引入的一个工具,用于执行 npm 包中的命令行工具或其他可执行文件。它的主要目的是简化 npm 包的执行过程。 ## 2. 主要功能 ### 2.1 直接执行远程包 ```bash # 无需安装即可执行包 npx create-react-app my-app # 执行指定版本 npx cowsay@2.0.0 "Hello" ``` ### 2.2 执行本地安装的包 ```bash # 执行本地 node_modules/.bin 中的命令 npx prettier --write "*.js" ``` ### 2.3 一次性使用 - 执行完成后自动删除 - 不污染全局环境 - 总是使用最新版本 ## 3. 工作原理 1. **查找顺序** - 首先在本地 node_modules/.bin 查找 - 然后在 PATH 环境变量中查找 - 最后从 npm 远程仓库下载 2. **临时安装** - 下载到临时目录 - 使用后自动清理 - 不影响项目依赖 3. **缓存机制** - 默认使用缓存 - 可以使用 --no-cache 禁用 - 缓存位置与 npm 相同 ## 4. 常用场景 ### 4.1 项目初始化 ```bash # 创建 React 项目 npx create-react-app my-app # 创建 Vue 项目 npx @vue/cli create my-vue-app # 创建 Next.js 项目 npx create-next-app my-next-app ``` ### 4.2 开发工具 ```bash # 运行 prettier 格式化代码 npx prettier --write "**/*.js" # 运行 eslint 检查代码 npx eslint . # 运行本地开发服务器 npx http-server ``` ### 4.3 构建工具 ```bash # 运行 webpack npx webpack # 运行 babel npx babel src -d lib ``` ## 5. 高级用法 ### 5.1 指定 Node 版本 ```bash # 使用特定版本的 Node 运行命令 npx -p node@14 node --version ``` ### 5.2 运行多个包 ```bash # 同时运行多个命令 npx -p package1 -p package2 command ``` ### 5.3 使用不同的 registry ```bash # 从特定源安装 npx --registry=https://registry.npm.taobao.org cowsay hello ``` ## 6. 命令行选项 - `--no-install`: 只使用本地包 - `--ignore-existing`: 忽略本地包 - `--shell-auto-fallback`: 设置 shell 自动回退 - `-p, --package`: 指定要安装的包 - `--cache`: 设置缓存目录 - `--no-cache`: 禁用缓存 ## 7. 最佳实践 ### 7.1 临时使用场景 - 一次性工具 - 版本测试 - 快速试用 ### 7.2 项目中的使用 - 开发依赖优先本地安装 - 使用 package.json 的 scripts - 明确依赖版本 ### 7.3 安全考虑 - 检查包的可信度 - 避免运行未知源的代码 - 使用 --package 指定确切版本 ## 8. 常见问题 ### 8.1 执行速度 - 首次运行较慢 - 可以使用缓存加速 - 考虑本地安装频繁使用的工具 ### 8.2 版本控制 - 指定确切版本避免意外 - 使用 package.json 锁定版本 - 注意依赖的兼容性 ### 8.3 网络问题 - 使用镜像源 - 提前下载常用包 - 处理离线场景