Neurotic Pumpkin Murderer

    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!

    Keywords

    none

    Install

    npm i fengdie-data-sync

    DownloadsWeekly Downloads

    2

    Version

    1.2.1

    License

    ISC

    Unpacked Size

    36.9 kB

    Total Files

    27

    Last publish

    Collaborators

    • bloody-ux