# @nutui/upload

> use http or sftp to upload locale files

Latest version **0.1.4** (published 2018-12-20) · MIT license · 0 weekly downloads

## Install

```sh
npm install @nutui/upload
pnpm add @nutui/upload
yarn add @nutui/upload
bun add @nutui/upload
```

Provides the command `nut`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.4 |
| Published | 2018-12-20 |
| First published | 2018-11-09 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 5 |
| Unpacked size | 24.4 KB |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 3 |
| Author | famanoder |
| Maintainers | nutui |
| Keywords | jdcfe, nutui, upload |

## Links

- npm: https://www.npmjs.com/package/@nutui/upload
- Repository: https://github.com/jdf2e/client-upload
- Homepage: https://github.com/jdf2e/client-upload#readme
- Issues: https://github.com/jdf2e/client-upload/issues
- npm.io page: https://npm.io/package/@nutui/upload

## Dependencies (5)

- [glob](https://npm.io/package/glob.md) ^7.1.3
- [chalk](https://npm.io/package/chalk.md) ^2.4.1
- [request](https://npm.io/package/request.md) ^2.88.0
- [commander](https://npm.io/package/commander.md) ^2.19.0
- [ssh2-sftp-client](https://npm.io/package/ssh2-sftp-client.md) ^2.4.1

## Recent versions

- 0.1.4 (latest) — 2018-12-20
- 0.1.3 — 2018-11-09
- 0.1.2 — 2018-11-09
- 0.1.1 — 2018-11-09
- 0.1.0 — 2018-11-09

## README

### @nutui/upload
---
可以非常方便的使用该模块同步本地文件到服务器，支持`http`与`sftp`两种上传方式，
推荐首选`sftp`上传：
* 在`Linux`里开启`ssh`就默认启用了`sftp`，一般不需要单独配置
* `sftp`会加密传输认证信息和数据，相对来说更安全
* 注意服务器里目录的权限问题

### 安装
---
```js
npm i -D @nutui/upload
```

### 配置使用
---
```js
const ClientUpload = require('@nutui/upload');

ClientUpload({
  source: 'src',
  ignoreRegexp: /node_modules/,
  success: function() {},
  sftpOption: {
    host: '0.0.0.0',
    port: 1234,
    username: 'user',
    password: 'user',
    target: '/home'
  }
});
```

### 支持 webpack
---

```js
const WebpackUploadPlugin = require('@nutui/upload/webpackUploadPlugin');

// webpack.config.js
// 相关配置同上
{
  plugins: [
    ...
    new WebpackUploadPlugin(options)
  ]
}
```

### 支持命令行操作（nut）
---
通过命令来上传文件到服务器，仅支持`sftp`
```js
npm i -g @nutui/upload

nut upload <option>
```
* **-s --source** 待上传的文件目录
* **-i --ignore** 忽略的目录
* **-r --remote** 接收文件的服务器相关配置 `user:pass@ip:port/target`

### 参数说明
---
| 属性 | 说明 | 默认值 | 是否必填
|----- | ----- | ----- | -----
| source | 待上传的文件目录 | - | 是
| ignoreRegexp | 忽略文件的匹配模式 | - | 否
| success | 上传成功的回调 | - | 否
| sftpOption.host | 服务器地址 | - | 是
| sftpOption.port | 服务器端口 | 22 | 否
| sftpOption.username | 用户名 | - | 是
| sftpOption.password | 密码 | - | 是
| sftpOption.target | 接收文件的目录 | - | 是
| httpOption[option] | 参考 sftpOption | - | 是

---
_Source: https://npm.io/package/@nutui/upload · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
