{"id":29111008,"url":"https://github.com/leon-kfd/howdyjs","last_synced_at":"2025-06-29T09:05:11.227Z","repository":{"id":48532525,"uuid":"217654014","full_name":"leon-kfd/howdyjs","owner":"leon-kfd","description":"一个包含Javascript插件、Vue3组件、Vue3指令的工具库","archived":false,"fork":false,"pushed_at":"2025-05-07T07:18:25.000Z","size":6439,"stargazers_count":122,"open_issues_count":4,"forks_count":27,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-17T04:06:44.324Z","etag":null,"topics":["contextmenu","javascript","rollup","typescript","vite","vue","vue3"],"latest_commit_sha":null,"homepage":"https://kongfandong.cn/howdy/","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leon-kfd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-10-26T04:07:59.000Z","updated_at":"2025-05-22T16:34:31.000Z","dependencies_parsed_at":"2024-03-05T07:41:13.659Z","dependency_job_id":"c60e62e2-cdfb-4a47-82c2-100ac521cbe2","html_url":"https://github.com/leon-kfd/howdyjs","commit_stats":{"total_commits":257,"total_committers":4,"mean_commits":64.25,"dds":"0.32295719844357973","last_synced_commit":"9f69e395bbb1e90cd82a8a308ed05a94687dba10"},"previous_names":[],"tags_count":78,"template":false,"template_full_name":null,"purl":"pkg:github/leon-kfd/howdyjs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leon-kfd%2Fhowdyjs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leon-kfd%2Fhowdyjs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leon-kfd%2Fhowdyjs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leon-kfd%2Fhowdyjs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leon-kfd","download_url":"https://codeload.github.com/leon-kfd/howdyjs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leon-kfd%2Fhowdyjs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262376079,"owners_count":23301342,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["contextmenu","javascript","rollup","typescript","vite","vue","vue3"],"created_at":"2025-06-29T09:05:09.918Z","updated_at":"2025-06-29T09:05:11.219Z","avatar_url":"https://github.com/leon-kfd.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 style=\"text-shadow: 3px 3px #5b9df3;color: transparent;-webkit-text-stroke-color: #262626;-webkit-text-stroke-width: 2px;font-family: unset\"\u003eHowdyjs\u003c/h1\u003e\r\n\r\n\u003cp\u003e\r\n  \u003ca href=\"https://github.com/leon-kfd/howdyjs\" target=\"_blank\"\u003e\r\n    \u003cimg src=\"https://img.shields.io/github/stars/leon-kfd/howdyjs?style=flat\" alt=\"Star\"\u003e\r\n  \u003c/a\u003e\r\n  \u003ca href=\"https://github.com/leon-kfd/howdyjs\" target=\"_blank\"\u003e\r\n    \u003cimg src=\"https://img.shields.io/github/forks/leon-kfd/howdyjs?style=flat\u0026color=%23cc8844\" alt=\"Fork\"\u003e\r\n  \u003c/a\u003e\r\n  \u003ca href=\"https://github.com/leon-kfd/howdyjs/blob/main/LICENSE\" target=\"_blank\"\u003e\r\n    \u003cimg src=\"https://img.shields.io/github/license/leon-kfd/howdyjs\" alt=\"Licensee\"\u003e\r\n  \u003c/a\u003e\r\n\u003c/p\u003e\r\n\r\n---\r\n\r\n**一个包含Javascript插件、Vue3组件、Vue3指令的轻量工具组件库**  \r\n*An universal component packages of javascript plugins or tools* \r\n\r\n\u003e 当前该仓库已使用`Vue3` + `Typescript`，基于Vue2组件的旧版项目请前往\u003ca href=\"https://github.com/leon-kfd/howdyjs/tree/howdy\" target=\"_blank\"\u003ehowdy分支\u003c/a\u003e查看。\r\n\r\n## Link\r\n+ \u003ca href=\"https://github.com/leon-kfd/howdyjs\" target=\"_blank\"\u003e⚡Github\u003c/a\u003e\r\n+ \u003ca href=\"https://kongfandong.cn/howdy\" target=\"_blank\"\u003e📖Document\u003c/a\u003e\r\n+ \u003ca href=\"https://www.npmjs.com/search?q=%40howdyjs\" target=\"_blank\"\u003e💾NPM\u003c/a\u003e\r\n\r\n---\r\n\r\n## 组件\r\n\r\n1. **[@howdyjs/mouse-menu](https://kongfandong.cn/howdy/mouse-menu)**  \r\n✨自定义右键菜单Vue3组件\r\n\r\n2. **[@howdyjs/resize](https://kongfandong.cn/howdy/resize)**  \r\n✨通过拖拽更改元素尺寸插件\r\n\r\n3. **[@howdyjs/to-drag](https://kongfandong.cn/howdy/to-drag)**  \r\n✨设置Dom可拖动插件\r\n\r\n4. **[@howdyjs/to-control](https://kongfandong.cn/howdy/to-control)**  \r\n✨拖拽更改元素大小与位置插件\r\n\r\n5. **[@howdyjs/img-zoom](https://kongfandong.cn/howdy/img-zoom)**  \r\n✨图片放大插件，支持按组浏览下一张图片\r\n\r\n6. **[@howdyjs/animation-dialog](https://kongfandong.cn/howdy/animation-dialog)**  \r\n✨动画模态框Vue3组件\r\n\r\n7. **[@howdyjs/size-observer](https://kongfandong.cn/howdy/size-observer)**  \r\n✨监听元素尺寸变化插件\r\n\r\n8. **[@howdyjs/scroll](https://kongfandong.cn/howdy/scroll)**  \r\n✨自定义滚动条插件\r\n\r\n9. **[@howdyjs/standard-tabs](https://kongfandong.cn/howdy/standard-tabs)**  \r\n✨移动端标签页Vue3组件\r\n\r\n---\r\n\r\n## 开始使用\r\n\r\n### 安装\r\n```cmd\r\n// 新版已进行分包\r\nnpm i -S @howdyjs/XXX\r\n\r\n// 旧版\r\nnpm i -S howdyjs\r\n```\r\n\r\n### 使用\r\n\r\n+ 新版进行了分包，可按需安装相应的分包\r\n+ 新版的Vue组件只可在Vue3中使用，而指令做了向下兼容可同时在Vue2.X中使用\r\n+ 多数包是基于原生JS编写的，基本可直接原生使用，只是为了方便提供了Vue指令的封装形式\r\n+ 若需要在Vue2.X中使用，可使用旧版，旧版文档 [参考此处](https://github.com/leon-kfd/howdyjs/blob/howdy/README.md)\r\n\r\n## 关于项目\r\n\r\n### Packages\r\n+ 使用**Lerna**进行分包管理，执行`npm run bootstrap`项目初始化\r\n+ 使用**Rollup**进行打包，执行`npm run build:lib`打包各个Packages\r\n+ 已更新使用`rollup-plugin-esbuild`加速打包\r\n\r\n### 展示站点\r\n+ 开发环境及展示站点使用**Vite**搭建，lerna初始化、安装依赖、打包Packages，完成后执行`npm run example`启动\r\n+ 站点路由文件使用`import.meta.glob`读取文件目录**自动生成**，原则上不需更改路由文件\r\n\r\n### 贡献与本地开发\r\n\r\n在项目初始化后，执行`npm run backup-package-json \u0026\u0026 npm run example`可使展示站点直接引用项目中Packages的代码并实现热更新，但注意开发完后要执行`npm run reset-package-json`恢复各包的**package.json**。\r\n\r\n原理是更改**package.json**的main字段指向开发的源文件，而发包的时候再将main字段入口文件指向打包后的**index.js**，后续有可能把这种方式更改为软连接的方式。\r\n\r\n---\r\n\r\n欢迎各种建议反馈与PR，感谢使用。\r\n\r\n#### \u003ca href=\"https://www.kongfandong.cn\" target=\"_blank\" style=\"color: rgb(75, 9, 150)\"\u003eVIEW AUTHOR BLOG\u003c/a\u003e\r\n\r\n## License\r\n\r\nAll for [MIT](https://github.com/leon-kfd/howdyjs/blob/master/LICENSE)\r\n\r\nCopyright (c) 2025 Leon.D\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleon-kfd%2Fhowdyjs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleon-kfd%2Fhowdyjs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleon-kfd%2Fhowdyjs/lists"}