fengdie-data-sync

1.2.1 • Public • Published

fengdie-data-sync

fengdie-data-sync是一个vscode扩展,用来解决凤蝶区块开发效率问题

对basement区块依旧有效,且basement区块的开发效率比之前凤蝶还低。因此,这个插件可以继续提供高效开发效率

Features

原来区块开发流程:

  1. 开发.schama或者.vm文件,保存
  2. fengdie push(速度较慢,需要整包推送,同时依赖凤蝶服务器,偶尔会出现Gateway timeout)
  3. 到fengdie-dev上推送到服务器上(速度较慢,不稳定,偶尔会出现推送失败等各种情况)
  4. 打开浏览器查看效果

使用fengdie-data-sync扩展之后:

  1. 开发.schama或者.vm文件,保存
  2. 打开浏览器查看效果

使用扩展后,直接跳过了与凤蝶服务器的所有交互。绕过所有的降低效率的因素,保存后在1s内就直达开发服务器。

Extension Settings

扩展配置如下:

  • fendie-data-sync.local: 本地环境相关配置,包括是否启用插件,以及区块的根目录是什么。可以不填写。默认值为:
  {
    "root": "./",
    "syncOnSave": true, // 
    "remoteData": false, // jsonremotes
    "persist": true // jsonmockjsonschema
  }
  • fendie-data-sync.remotes:开发服务器配置,主要是ssh链接配置。需要填写,如果不填写,插件不生效。配置结构:
  {
    "root": "/home/admin/uiweb/fengdie/", // 
    "host": "",
    "port": 22, // 22 
    "username": "",
    "password": ""
  }

Typical Settings

在vscode的workspace settings中添加以下配置节:

"fengdie-data-sync"{
    "local": {
      "root": "/home/user/fengide/data/root",
      "syncOnSave": true,
      "remoteData": false
    },
    "remotes": [
      {
        "host": "remote.server.name",
        "username": "user",
        "port": 22,
        "password": "pass",
        "root": "/home/user/"
      }
    ]
  }

在配置过程中,可以借助vscode的智能提示,看看有哪些选项。

Advanced Usages

默认情况下,当一个schema保存的时候,扩展会mock出schema对应的数据。如果需要自定义数据,那么可以添加一个和schema同样名称的json文件。 比如:

schema文件名称为,test.schmea, 那么添加上test.json在同样目录的时候,这份数据将优先被使用来生成对应的*.vm以及*.json文件

CLI

改插件同时提供了CLI的功能,使用方法如下:

工具安装

npm i fengdie-data-sync -g

初始化配置文件

fengdie-sync init

工具启动

默认就是watch模式,自动监控当前目录及子目录文件变更

fengdie-sync

Limitations

当前插件不支持以下场景:

我们有一个test.schema, 他被其他非test.vm使用到的时候,并不会更新其他的vm文件,需要手动去触发其他vm的同步操作。

目前不支持这个场景的原因是,这个case出现的概率较低,而支持这个场景需要跟踪schema与vm的依赖关系,或者做全量扫描,性能上并不划算。

Release Notes

1.1.12

  • 修复init生成默认配置不正确的问题

1.1.11

  • 修复远程获取数据失败的问题

1.1.7

  • 修复local.config报错

1.1.6

  • 修复无法输出颜色的问题

1.1.4

  • 修复CLI下配置文件一直用默认的文件的问题

1.1.3

  • 去除了fengdie.config.js的检测

1.1.2

  • 修复cli工具无法对已经存在的文件进行上传的问题

1.1.1

  • 修复最新版本node下,无法获取远程文件的问题
  • 升级sshstream版本

1.1.0

  • 增加remoteData参数,支持当vm修改时,如果没有本地json数据,会从服务器端获取json,在尝试生成mock数据,由于会有服务器来回开销,默认关闭
  • 增加persist参数,用于从远程服务器获取到json或者产生mock数据后,是否保存在当前schema目录下,默认开启。

1.0.6

  • fixed typo

1.0.5

  • 优化错误提示

1.0.4

  • 修复CLI工具无法直接运行问题

1.0.2

  • 支持CLI工具

1.0.1

  • 修复了在json文件存在的情况下,传入的json是字符串而不是json对象的问题

1.0.0

  • 首次发布

特别注意的是,本工具只用于开发环节 Enjoy!

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.2.1
    0
    • latest

Version History

Package Sidebar

Install

npm i fengdie-data-sync

Weekly Downloads

0

Version

1.2.1

License

ISC

Unpacked Size

36.9 kB

Total Files

27

Last publish

Collaborators

  • bloody-ux