Important
本项目是 node-schedule 的 fork 版本,专为更小体积和 ESM 兼容性而重构。
说人话就是重新打包了一遍,转成esm。
- 📦 体积极小:打包后仅 312KB(原版 4.6MB,数据来源)
- 🚀 完全 ESM 支持:使用 Vite 重新打包为 ESM 格式
- 📝 TypeScript 支持:通过 tsup 自动生成类型声明文件
- 🛠️ 兼容原版 API,迁移无痛
- 🔒 仅包含核心功能,去除冗余依赖
- Node.js 版本需 >= 18
你可以使用多种包管理器进行安装:
npm install @karinjs/node-schedule
pnpm add @karinjs/node-schedule
yarn add @karinjs/node-schedule
在 package.json
中配置依赖别名,或直接通过包管理器命令安装:
{
"dependencies": {
"node-schedule": "npm:@karinjs/node-schedule"
}
}
- 使用 npm:
npm install node-schedule@npm:@karinjs/node-schedule
- 使用 pnpm:
pnpm add node-schedule@npm:@karinjs/node-schedule
- 使用 yarn:
yarn add node-schedule@npm:@karinjs/node-schedule
这样在项目中 import 'node-schedule'
会自动指向本包,无需更改业务代码。
import schedule from '@karinjs/node-schedule';
// 每分钟执行一次任务
const job = schedule.scheduleJob('* * * * *', function(){
console.log('每分钟执行一次');
});
// 取消任务
// job.cancel();
- 对包体积有极致要求的 Serverless、边缘计算、微服务等场景
- 需要 ESM 支持的现代 Node.js 项目
- 仅保留核心调度功能,去除部分不常用特性
- 体积大幅缩小,加载更快
- 采用 ESM 构建,适配现代 Node.js
本项目许可证与原版 node-schedule 保持一致,采用 MIT 许可证,内容无任何变化,紧随上游。
MIT License © 2015 Matt Patenaude 及贡献者