# @braks/revue-draggable 中文文档

规范地址：https://npmcn.com/package/%40braks/revue-draggable/

版本：0\.5\.1
npm 元数据更新时间：2024-09-05T09:17:51.196Z
中文译文更新时间：2026-11-08T13:49:52.557Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40braks/revue-draggable
原文对照：https://npmcn.com/package/%40braks/revue-draggable/?lang=original
项目主页：https://draggable.vueflow.dev/
源码仓库：https://github.com/bcakmakoglu/revue-draggable

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：85.8 kB，21 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：2 个
- peer 依赖：@vue/composition-api ^1\.0\.0-rc\.1，vue ^2\.0\.0 \|\| \>=3\.0\.5
- 首次发布：2021-07-13T19:29:42.086Z
- 最新版本发布：2024-09-05T09:17:50.958Z
- 近 30 天下载量：9859（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：61（近 12 个月 0 个）

## 中文简介

[![Revue Draggable](https://npmcn.com/package/%40braks/revue-draggable/docs/static/revue-draggable.gif)](https://draggable.vueflow.dev/)

## 安装

```sh
npm install @braks/revue-draggable
```

也可以使用：`pnpm add @braks/revue-draggable`、`yarn add @braks/revue-draggable`、`bun add @braks/revue-draggable`

## README

[![Revue Draggable](https://npmcn.com/package/%40braks/revue-draggable/docs/static/revue-draggable.gif)](https://draggable.vueflow.dev/)

![top-language](https://img.shields.io/github/languages/top/bcakmakoglu/revue-draggable) [![dependencies Status](https://status.david-dm.org/gh/bcakmakoglu/revue-draggable.svg)](https://david-dm.org/bcakmakoglu/revue-draggable) [![devDependencies Status](https://status.david-dm.org/gh/bcakmakoglu/revue-draggable.svg?type=dev)](https://david-dm.org/bcakmakoglu/revue-draggable?type=dev) ![vulnerabilities](https://img.shields.io/snyk/vulnerabilities/github/bcakmakoglu/revue-draggable) ![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/bcakmakoglu/revue-draggable) ![GitHub last commit](https://img.shields.io/github/last-commit/bcakmakoglu/revue-draggable)

**让您的 Vue 组件可拖动 。 @ @ info**

**支持"Vue 2"和"Vue 3"!!** 带QQ电池的来历包括组件/指令/可堆肥或 对于想要对拖曳事件进行更多控制的用户, wich 也可用 作为组件 / 指令 / 可替换.

依据 [反应可拖动](https://www.npmjs.com/package/react-draggable#draggablecore)。 。 。 .

检查 [备注](https://draggable-docs.vueflow.dev/) 深入解释 页:1 [德莫 🪄](https://draggable.vueflow.dev/) 以看到可拖动的Revue.

## 目录

-   [QQ 设置](https://npmcn.com/package/%40braks/revue-draggable/#readme--setup)
    
    -   [正在注册 Revue 可拖放](https://npmcn.com/package/%40braks/revue-draggable/#readme--registering-revue-draggable)
-   [QQ 快速启动](https://npmcn.com/package/%40braks/revue-draggable/#readme--quickstart)
    
-   [发展](https://npmcn.com/package/%40braks/revue-draggable/#readme--development)
    
-   [测试](https://npmcn.com/package/%40braks/revue-draggable/#readme--tests)
    
-   [提案国](https://npmcn.com/package/%40braks/revue-draggable/#readme--sponsors)
    

## QQ 设置

```bash
$ npm i --save @braks/revue-draggable

# or
$ yarn add @braks/revue-draggable

# or
$ pnpm add @braks/revue-draggable
```

对于Vue2,在您的依赖(如果您使用Vue < 2.7)中添加成分-api.

```bash
$ yarn add @braks/revue-draggable @vue/composition-api

# or
$ npm i --save @braks/revue-draggable @vue/composition-api
```

### 使用组件

#### 网络包装( Vue2)

```js
// webpack.config.js

resolve: {
    alias: {
        vue: 'vue/dist/vue.js'
    }
}
```

#### [坚果](https://nuxtjs.org/)

```ts
// nuxt.config.ts
export default {
    alias: {
        vue: 'vue/dist/vue.js'
    }
}
```

### ++ 正在重新注册可拖放

```ts
// Vue3
import { createApp } from 'vue';
import Draggable, { DraggablePlugin, DraggableDirective } from '@braks/revue-draggable';

const app = createApp();

// Use as Plugin (registers directives and components)
app.use(DraggablePlugin);

// or
app.directive('draggable', DraggableDirective)
app.component('Draggable', Draggable);

app.mount('#root');
```

```ts
// Vue2 
import Vue from 'vue';
import { DraggablePlugin, DraggableDirective } from '@braks/revue-draggable';

// Use as Plugin
Vue.use(DraggablePlugin)

// or
Vue.directive('draggable', DraggableDirective)
Vue.component('Draggable', Draggable)
```

## QQ 快速启动

使元素可拖动的最简单方法是使用 **可拖动指令** 它会为你处理一切 无需配置.

```vue
<div v-draggable="/* Pass DraggableProps as binding value here */" class="box">I use a directive to make myself draggable</div>
```

或用组件包装. (在Vue2中,确保只包括Vue3的全建,运行时间-建设工程. )

```vue
<Draggable>
  <div class="box">I use a wrapper</div>
</Draggable>
```

检查 [示例文件](https://npmcn.com/package/%40braks/revue-draggable/example/App.vue) 用于更多的细节示例,例如抛出元素,设定边界或同步状态.

## 发展

这个项目使用 [维特](https://vitejs.dev/) 联合国 [滚动](https://rollupjs.org/) 以创建分布.

```bash
# start (dev)
$ pnpm dev

# build app
$ pnpm build

# serve app from build
$ pnpm serve

# build dist
$ pnpm build:dist
```

## 调试

设置环境变量 `DRAGGABLE_DEBUG` 以启用拖动处理器上的日志.

## 测试

测试用Cypress完成. 您可以在 [cypress 目录](https://npmcn.com/cypress)· ;

```bash
$ pnpm ci # starts test server and runs tests, make sure port 3000 is open
```

## 常见问题

### 如何安装 @braks/revue-draggable？

在项目目录运行 npm install @braks/revue-draggable，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：vue（^2\.0\.0 \|\| \>=3\.0\.5）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @braks/revue-draggable 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @braks/revue-draggable 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @braks/revue-draggable 可以商用吗？

@braks/revue-draggable 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @braks/revue-draggable 的下载量有多少？

根据 npm 官方下载统计，@braks/revue-draggable 在 2026/10/09 – 2026/11/07 这 30 天内被下载 9,859 次，日均约 329 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @braks/revue-draggable 还在维护吗？

最新版本 0\.5\.1 发布于 2024/09/05（2 年前）；至今共发布 61 个版本，其中过去 12 个月发布了 0 个；首次发布于 2021/07/14。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

