wait-on 终极指南:如何轻松等待文件和网络资源就绪
wait-on 终极指南如何轻松等待文件和网络资源就绪【免费下载链接】wait-onwait-on is a cross-platform command line utility and Node.js API which will wait for files, ports, sockets, and http(s) resources to become available项目地址: https://gitcode.com/gh_mirrors/wa/wait-onwait-on 是一款功能强大的跨平台命令行工具和 Node.js API能够轻松等待文件、端口、套接字和网络资源就绪。无论您是开发新手还是经验丰富的工程师掌握这个工具都能显著提升工作效率避免因资源未就绪导致的执行错误。 为什么选择 wait-on在现代开发流程中我们经常需要处理依赖资源的场景等待构建工具生成输出文件后再启动测试确保数据库服务启动完成后才运行应用等待 API 服务就绪后执行集成测试wait-on 解决了这些痛点提供了简单直观的方式来处理资源依赖问题。它支持多种资源类型检查包括文件、TCP 端口、Unix 套接字和 HTTP/HTTPS 服务真正实现了一站式资源等待解决方案。 快速安装指南安装 wait-on 非常简单只需确保您的系统已安装 Node.jsv20.0.0 或更高版本然后通过 npm 安装# 本地安装推荐用于项目依赖 npm install wait-on # 全局安装适用于命令行工具 npm install -g wait-on如果您需要从源码安装可以克隆仓库git clone https://gitcode.com/gh_mirrors/wa/wait-on cd wait-on npm install 命令行使用详解wait-on 的命令行界面简洁直观基本语法如下wait-on [选项] 资源 [...资源]常用资源类型wait-on 支持多种资源类型通过前缀标识文件资源默认类型或使用file:前缀wait-on build/output.js # 等待文件出现并稳定 wait-on file:/tmp/lockfile # 显式指定文件类型HTTP/HTTPS 资源默认使用 HEAD 请求返回 2XX 状态码即视为就绪wait-on http://localhost:3000 # 等待 HTTP 服务就绪 wait-on https://api.example.com # 等待 HTTPS 服务就绪 wait-on http-get://localhost:3000/data # 使用 GET 请求检查TCP 端口等待指定主机和端口开始监听wait-on tcp:localhost:5432 # 等待本地 5432 端口 wait-on tcp:db-server:27017 # 等待远程服务器端口Unix 套接字等待域套接字就绪wait-on socket:/var/run/mysqld.sock # 等待 MySQL 套接字实用选项wait-on 提供了丰富的选项来满足不同场景需求延迟检查-d, --delay指定初始延迟时间毫秒wait-on -d 1000 http://localhost:3000 # 延迟 1 秒后开始检查轮询间隔-i, --interval设置检查间隔毫秒wait-on -i 500 file:output.log # 每 500ms 检查一次文件超时设置-t, --timeout设置最大等待时间wait-on -t 10000 tcp:localhost:3000 # 最多等待 10 秒反向模式-r, --reverse等待资源不可用适用于等待服务关闭wait-on -r tcp:localhost:3000 # 等待 3000 端口关闭日志输出-l, --log显示等待进度wait-on -l http://localhost:3000 # 显示详细等待日志️ Node.js API 使用方法除了命令行工具wait-on 还提供了强大的 Node.js API可以直接集成到您的代码中const waitOn require(wait-on); const options { resources: [ file:dist/bundle.js, http://localhost:3000, tcp:localhost:5432 ], delay: 1000, // 初始延迟 1 秒 interval: 500, // 每 500ms 检查一次 timeout: 30000, // 30 秒超时 window: 1000 // 资源稳定窗口 1 秒 }; // 回调方式 waitOn(options, (err) { if (err) return console.error(等待失败:, err); console.log(所有资源已就绪!); }); // 或者使用 Promise waitOn(options) .then(() console.log(所有资源已就绪!)) .catch(err console.error(等待失败:, err));高级配置对于 HTTP 资源您可以配置更复杂的选项如自定义 headers、认证信息等const options { resources: [https://api.example.com/data], auth: { username: admin, password: secret }, headers: { X-API-Key: your-api-key }, strictSSL: false, // 忽略 SSL 证书验证 followRedirect: true // 跟随重定向 };⚙️ 配置文件使用对于复杂的配置您可以创建配置文件支持 JS 或 JSON 格式例如创建wait-on-config.jsmodule.exports { resources: [ file:build/output.css, http://localhost:8080 ], delay: 2000, interval: 1000, timeout: 60000, // HTTP 特定配置 headers: { User-Agent: wait-on } };然后在命令行中使用wait-on --config wait-on-config.js 实用场景示例1. 前端开发工作流在package.json中配置脚本等待开发服务器启动后打开浏览器{ scripts: { start: npm run dev wait-on http://localhost:3000 open http://localhost:3000 } }2. 多服务启动顺序确保数据库先启动再启动 API 服务最后运行测试# 启动数据库 docker-compose up -d db # 等待数据库就绪 wait-on tcp:localhost:5432 # 启动 API 服务 npm run start:api # 等待 API 服务就绪 wait-on http://localhost:4000/health # 运行测试 npm test3. 等待文件生成等待构建工具完成后再执行后续操作# 启动构建并等待输出文件 npm run build wait-on dist/main.js echo 构建完成! 更多资源源代码项目核心实现位于 lib/wait-on.js测试用例查看 test/ 目录了解各种使用场景配置示例参考 exampleConfig.js 了解高级配置选项 总结wait-on 是一个简单而强大的工具能够解决开发过程中资源依赖等待的常见问题。无论是作为命令行工具还是 Node.js API它都提供了灵活的配置选项和丰富的资源类型支持。通过本文介绍的基础用法和高级技巧您可以轻松将 wait-on 集成到您的开发工作流中提高自动化流程的稳定性和可靠性。立即安装 wait-on体验资源等待的简单与高效【免费下载链接】wait-onwait-on is a cross-platform command line utility and Node.js API which will wait for files, ports, sockets, and http(s) resources to become available项目地址: https://gitcode.com/gh_mirrors/wa/wait-on创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考