这个项目能做什么
Dropzone 是一个 JavaScript 库,可将任何 HTML 元素转换为 dropzone:用户可以将文件拖放到其上,库会显示文件预览和上传进度,并通过 XHR 处理上传。它使用 TypeScript 编写,并自带类型定义,因此无需单独的 @types 包。README 指出,旧的 @types/dropzone 停留在 5.7.9 版本,描述的是 v5 API,如果存在应将其移除。
安装可通过 npm(npm install dropzone)或 pnpm 进行,它可以作为 ES6 模块或 CommonJS 模块使用。对于没有包管理器或打包器的项目,可从 unpkg 获取独立文件,将 Dropzone 暴露为全局变量,并附带样式表。
文档化的功能包括:美观的默认样式;通过 thumbnail(file, data) 回调实现图片缩略图预览;支持高 DPI 屏幕;多文件同步上传;进度更新;通过分块上传支持大文件;支持 Amazon S3 Multipart 上传;可通过覆盖默认事件监听器进行完全主题定制;以及上传前在浏览器端调整图片大小。README 称该库已得到充分测试。
该仓库是一个 monorepo,包含发布到 npm 的库 dropzone(packages/dropzone)、使用 Docusaurus 构建的文档(apps/docs)以及使用 SvelteKit 构建的网站(apps/website)。开发命令包括 pnpm install、pnpm build、pnpm test、pnpm test:e2e、pnpm dev:docs 和 pnpm dev:website。单个 pnpm build:site 命令会在 _site/ 中生成可部署的 GitHub Pages 站点,将网站放在根目录,文档放在 /docs 下;CI 运行相同的脚本。
Dropzone 6 不支持 Internet Explorer;如有此需求,建议使用 5.9.3 版本。社区支持请转向 GitHub Discussions 或带有 dropzone.js 标签的 Stack Overflow,而不是问题跟踪器,后者仅用于报告 bug。该项目采用 MIT 许可证。
评论
0 评分人数达到10人后显示
登录后参与讨论。