Git Product home page Git Product logo

imove's Introduction

gitter NPM version build status Test coverage PR's Welcome

INACTIVE: iMove 是一个逻辑可复用的,面向函数的,流程可视化的 JavaScript 工具库。

English | 简体中文

iMove是一个面向前端开发者的逻辑编排工具,核心解决的是复杂逻辑复用的问题。

iMove由2部分组成:画布和imove-sdk。通过本地起一个http服务运行画布,在画布上完成代码编写和节点编排,最终将流程导出dsl,放到项目中,通过imove-sdk调用执行。

特性

  • 流程可视化:上手简单,绘图方便,逻辑表达更直观,易于理解
  • 逻辑复用:iMove 节点支持复用,单节点支持参数配置
  • 灵活可扩展:仅需写一个函数,节点可扩展,支持插件集成
  • 适用于JavaScript所有场景:比如前端点击事件,Ajax 请求和 Node.js 后端 API等
  • 多语言编译:无语言编译出码限制(例:支持 JavaScript, Java 编译出码)

使用场景

usage

  1. 前端流程:比如点击事件,组件生命周期回调等。
  2. 后端流程:比如 Node.js 或 Serverless 领域。
  3. 前端+后端:比如前端点击事件,Ajax 请求和后端 API。

快速开始

步骤 1. 准备

下载仓库,安装并启动

$ git clone https://github.com/ykfe/imove.git
$ cd imove/example
$ npm install
$ npm start

此时浏览器会自动打开 http://localhost:8000/ ,可以看到运行效果。

步骤 2. 绘制流程图

从左侧拖动节点至**画布,绘制流程图

flowchart

步骤 3. 配置节点

选择节点,修改节点名,编辑节点代码

flowchart-usage1

flowchart-usage2

Authors

  • qilei0529 - 飞羽「Leader」
  • SmallStoneSK - 菉竹「Core Team」
  • suanmei - 拾邑「Core Team」
  • iloveyou11 - 冷卉「Core Team」
  • i5ting - 狼叔「Core Team」

团队博客,各种原理,设计初衷,实现,思考等都在这里: https://www.yuque.com/imove/blog

See also the list of contributors who participated in this project.

贡献

  1. Fork 仓库
  2. 创建分支 (git checkout -b my-new-feature)
  3. 提交修改 (git commit -am 'Add some feature')
  4. 推送 (git push origin my-new-feature)
  5. 创建 PR

欢迎 fork 和反馈

如有建议或意见,欢迎在 github issues 区提问

协议

本仓库遵循 MIT 协议

贡献者 ✨

感谢 蚂蚁 X6 团队 提供的绘图引擎

感谢所有贡献的人 (emoji key):

本仓库遵循 all-contributors 规范,欢迎贡献!

项目 Star 数增长趋势

Stargazers over time

imove's People

Contributors

cbbfcd avatar csbun avatar dependabot[bot] avatar i5ting avatar iloveyou11 avatar juzhiyuan avatar qilei0529 avatar smallstonesk avatar suanmei avatar yorkie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

imove's Issues

重构example

  • 将example/package.json里的依赖移到根目录package.json的dev依赖里
  • 修改getting start:npm run example
  • 修改文档

节点对齐

目前只支持字体水平垂直对齐,但是没有节点对齐,需要手动拖动节点进行对齐。

代码保存时自动识别出当前节点的依赖,并尝试获取版本号

Available Solution

  1. 根据 import 语法,使用正则匹配出当前节点代码中的依赖
  2. 根据例子 npm view lodash --verbose 分析出查询 package 信息的 api 是 https://registry.npm.taobao.org/lodash (淘宝源,也可以切成 npm 的 https://registry.npmjs.org/)
  3. 当自动识别得到的依赖是当前节点没有配置的,则弹出对话框提示是否需要添加

👀 TODO?

希望能够知道这个项目目前的计划和 TODO 项,能够有相关的待办事项文档,可以参与进来,👀。
比如,是否会支持国际化?等

生成的代码如何在本地运行?

使用npm run example后,IMove运行起来了,也提示b本地连接成功,如下图;
image
但是访问http://127.0.0.1:3500,没有对应的路由页面
image

add online example

朋友反馈

现在最大的问题还是本地跑example不友好。 或者可以部署一个在线的应用给大家访问

解法是:umi build将example打包,然后使用 https://github.com/tschaub/gh-pages 发布example/dist到git pages就好了

UI上增加调用文档说明

能在一个页面上直接找到,体验更好一些。

目前看右侧加一个菜单看起来是可行的。不然还要到语雀上翻查文档

新手指引

建议做个新手指引,刚进到页面没有新手指引会比较迷茫,以为只是个路程图绘制工具,没有突出imove的优势。

add online example

朋友反馈

现在最大的问题还是本地跑example不友好。 或者可以部署一个在线的应用给大家访问

解法是:umi build将example打包,然后使用 https://github.com/tschaub/gh-pages 发布example/dist到git pages就好了

npm run example 报错

`> root@ example D:\pwork\imove

concurrently "lerna run watch --parallel" "cross-env APP_ROOT=example umi dev" "imove -d"

[2] server starts successfully at 3500!
[0] lerna notice cli v3.22.1
[0] lerna info Executing command in 4 packages: "npm run watch"
[0] @imove/compile-code: > @imove/[email protected] watch D:\pwork\imove\packages\compile-code
[0] @imove/compile-code: > watch 'npm run build' ./src
[0] @imove/core: > @imove/[email protected] watch D:\pwork\imove\packages\core
[0] @imove/core: > watch 'npm run build' ./src
[0] @imove/json-schema-editor: > @imove/[email protected] watch D:\pwork\imove\packages\json-schema-editor
[0] @imove/json-schema-editor: > watch 'npm run build' ./src
[0] @imove/plugin-store: > @imove/[email protected] watch D:\pwork\imove\packages\plugin-store
[0] @imove/plugin-store: > watch 'npm run build' ./src
[0] @imove/compile-code: > Watching run
[0] @imove/compile-code: > Watching build'
[0] @imove/compile-code: > Watching ./src
[0] @imove/compile-code: D:\pwork\imove\node_modules\watch\main.js:73
[0] @imove/compile-code: if (err) throw err;
[0] @imove/compile-code: ^
[0] @imove/compile-code: [Error: ENOENT: no such file or directory, stat 'D:\pwork\imove\packages\compile-code\run'] {
[0] @imove/compile-code: errno: -4058,
[0] @imove/compile-code: code: 'ENOENT',
[0] @imove/compile-code: syscall: 'stat',
[0] @imove/compile-code: path: 'D:\pwork\imove\packages\compile-code\run'
[0] @imove/compile-code: }
[0] @imove/compile-code: npm ERR! code ELIFECYCLE
[0] @imove/compile-code: npm ERR! errno 1
[0] @imove/compile-code: npm ERR! @imove/[email protected] watch: watch 'npm run build' ./src
[0] @imove/compile-code: npm ERR! Exit status 1
[0] @imove/compile-code: npm ERR!
[0] @imove/compile-code: npm ERR! Failed at the @imove/[email protected] watch script.
[0] @imove/compile-code: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
[0] @imove/compile-code: npm ERR! A complete log of this run can be found in:
[0] @imove/compile-code: npm ERR! C:\Users\mei\AppData\Roaming\npm-cache_logs\2021-01-11T06_05_16_838Z-debug.log
[0] lerna ERR! npm run watch exited 1 in '@imove/compile-code'
[0] lerna ERR! npm run watch stdout:
[0]
[0] > @imove/[email protected] watch D:\pwork\imove\packages\compile-code
[0] > watch 'npm run build' ./src
[0]
[0]
[0] lerna ERR! npm run watch stderr:
[0] > Watching run
[0] > Watching build'
[0] > Watching ./src
[0] D:\pwork\imove\node_modules\watch\main.js:73
[0] if (err) throw err;
[0] ^
[0]
[0] [Error: ENOENT: no such file or directory, stat 'D:\pwork\imove\packages\compile-code\run'] {
[0] errno: -4058,
[0] code: 'ENOENT',
[0] syscall: 'stat',
[0] path: 'D:\pwork\imove\packages\compile-code\run'
[0] }
[0] npm ERR! code ELIFECYCLE
[0] npm ERR! errno 1
[0] npm ERR! @imove/[email protected] watch: watch 'npm run build' ./src
[0] npm ERR! Exit status 1
[0] npm ERR!
[0] npm ERR! Failed at the @imove/[email protected] watch script.
[0] npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
[0]
[0] npm ERR! A complete log of this run can be found in:
[0] npm ERR! C:\Users\mei\AppData\Roaming\npm-cache_logs\2021-01-11T06_05_16_838Z-debug.log
[0]
[0] lerna ERR! npm run watch exited 1 in '@imove/compile-code'
[0] lerna WARN complete Waiting for 3 child processes to exit. CTRL-C to exit immediately.
[0] lerna run watch --parallel exited with code 1
[1] Starting the development server...
[1] i Compiling Webpack
[1] √ Webpack: Compiled with some errors in 1.85s
[1] ERROR Failed to compile with 1 errors14:05:20
[1]
[1] This relative module was not found:
[1]
[1] * ../../../packages/core/dist/core.esm.js in ./example/src/pages/index.tsx`

npm i报错

环境

系统
image

node

$ node -v
v15.3.0

终端
git bash

现象

npm i报错

$ npm i
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR! 
npm ERR! While resolving: root@undefined
npm ERR! Found: [email protected]
npm ERR! node_modules/rollup
npm ERR!   dev rollup@"^2.6.1" from the root project
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer rollup@"^1.20.0" from @rollup/[email protected]
npm ERR! node_modules/@rollup/plugin-url
npm ERR!   dev @rollup/plugin-url@"^4.0.2" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See C:\Users\hbyBy\AppData\Local\npm-cache\eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\hbyBy\AppData\Local\npm-cache\_logs\2021-01-11T09_36_10_347Z-debug.log

在线 demo 打开报错

README 中提供的 demo 地址打开报错 https://65hzt.sse.codesandbox.io/

ℹ Compiling Webpack
[1] ✔ Webpack: Compiled with some errors in 36.61s
[1]  ERROR  Failed to compile with 3 errors10:27:34 PM
[1]
[1] These dependencies were not found:
[1]
[1] * fr-generator in ./packages/core/dist/core.esm.js
[1] * react-split-pane/lib/Pane in ./packages/core/dist/core.esm.js
[1] * react-split-pane/lib/SplitPane in ./packages/core/dist/core.esm.js
[1]
[1] To install them, you can run: npm install --save fr-generator react-split-pane/lib/Pane react-split-pane/lib/SplitPane
[1] (node:405) UnhandledPromiseRejectionWarning: AssertionError [ERR_ASSERTION]: chunk of umi not found.
[1]     at htmlChunks.forEach (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:104:27)
[1]     at Array.forEach (<anonymous>)
[1]     at chunksToFiles (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:93:14)
[1]     at /sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:188:32
[1]     at Generator.next (<anonymous>)
[1]     at asyncGeneratorStep (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:62:103)
[1]     at _next (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:64:194)
[1]     at process._tickCallback (internal/process/next_tick.js:68:7)
[1] (node:405) UnhandledPromiseRejectionWarning: Unhandledpromise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
[1] (node:405) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[1] (node:405) UnhandledPromiseRejectionWarning: AssertionError [ERR_ASSERTION]: chunk of umi not found.
[1]     at htmlChunks.forEach (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:104:27)
[1]     at Array.forEach (<anonymous>)
[1]     at chunksToFiles (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:93:14)
[1]     at /sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:188:32
[1]     at Generator.next (<anonymous>)
[1]     at asyncGeneratorStep (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:62:103)
[1]     at _next (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:64:194)
[1]     at process._tickCallback (internal/process/next_tick.js:68:7)
[1] (node:405) UnhandledPromiseRejectionWarning: Unhandledpromise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
[1] (node:405) UnhandledPromiseRejectionWarning: AssertionError [ERR_ASSERTION]: chunk of umi not found.
[1]     at htmlChunks.forEach (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:104:27)
[1]     at Array.forEach (<anonymous>)
[1]     at chunksToFiles (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:93:14)
[1]     at /sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:188:32
[1]     at Generator.next (<anonymous>)
[1]     at asyncGeneratorStep (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:62:103)
[1]     at _next (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:64:194)
[1]     at process._tickCallback (internal/process/next_tick.js:68:7)
[1] (node:405) UnhandledPromiseRejectionWarning: Unhandledpromise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 3)
[1] (node:405) UnhandledPromiseRejectionWarning: AssertionError [ERR_ASSERTION]: chunk of umi not found.
[1]     at htmlChunks.forEach (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:104:27)
[1]     at Array.forEach (<anonymous>)
[1]     at chunksToFiles (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:93:14)
[1]     at /sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:188:32
[1]     at Generator.next (<anonymous>)
[1]     at asyncGeneratorStep (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:62:103)
[1]     at _next (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:64:194)
[1]     at process._tickCallback (internal/process/next_tick.js:68:7)
[1] (node:405) UnhandledPromiseRejectionWarning: Unhandledpromise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 4)
[1] (node:405) UnhandledPromiseRejectionWarning: AssertionError [ERR_ASSERTION]: chunk of umi not found.
[1]     at htmlChunks.forEach (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:104:27)
[1]     at Array.forEach (<anonymous>)
[1]     at chunksToFiles (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:93:14)
[1]     at /sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:188:32
[1]     at Generator.next (<anonymous>)
[1]     at asyncGeneratorStep (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:62:103)
[1]     at _next (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:64:194)
[1]     at process._tickCallback (internal/process/next_tick.js:68:7)
[1] (node:405) UnhandledPromiseRejectionWarning: Unhandledpromise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 5)
[1] (node:405) UnhandledPromiseRejectionWarning: AssertionError [ERR_ASSERTION]: chunk of umi not found.
[1]     at htmlChunks.forEach (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:104:27)
[1]     at Array.forEach (<anonymous>)
[1]     at chunksToFiles (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:93:14)
[1]     at /sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:188:32
[1]     at Generator.next (<anonymous>)
[1]     at asyncGeneratorStep (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:62:103)
[1]     at _next (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:64:194)
[1]     at process._tickCallback (internal/process/next_tick.js:68:7)
[1] (node:405) UnhandledPromiseRejectionWarning: Unhandledpromise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 6)
[1] (node:405) UnhandledPromiseRejectionWarning: AssertionError [ERR_ASSERTION]: chunk of umi not found.
[1]     at htmlChunks.forEach (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:104:27)
[1]     at Array.forEach (<anonymous>)
[1]     at chunksToFiles (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:93:14)
[1]     at /sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:188:32
[1]     at Generator.next (<anonymous>)
[1]     at asyncGeneratorStep (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:62:103)
[1]     at _next (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:64:194)
[1]     at process._tickCallback (internal/process/next_tick.js:68:7)
[1] (node:405) UnhandledPromiseRejectionWarning: Unhandledpromise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 7)
[1] (node:405) UnhandledPromiseRejectionWarning: AssertionError [ERR_ASSERTION]: chunk of umi not found.
[1]     at htmlChunks.forEach (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:104:27)
[1]     at Array.forEach (<anonymous>)
[1]     at chunksToFiles (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:93:14)
[1]     at /sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:188:32
[1]     at Generator.next (<anonymous>)
[1]     at asyncGeneratorStep (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:62:103)
[1]     at _next (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:64:194)
[1]     at process._tickCallback (internal/process/next_tick.js:68:7)
[1] (node:405) UnhandledPromiseRejectionWarning: Unhandledpromise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 8)
[1] (node:405) UnhandledPromiseRejectionWarning: AssertionError [ERR_ASSERTION]: chunk of umi not found.
[1]     at htmlChunks.forEach (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:104:27)
[1]     at Array.forEach (<anonymous>)
[1]     at chunksToFiles (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:93:14)
[1]     at /sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:188:32
[1]     at Generator.next (<anonymous>)
[1]     at asyncGeneratorStep (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:62:103)
[1]     at _next (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:64:194)
[1]     at process._tickCallback (internal/process/next_tick.js:68:7)
[1] (node:405) UnhandledPromiseRejectionWarning: Unhandledpromise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 9)
[1] (node:405) UnhandledPromiseRejectionWarning: AssertionError [ERR_ASSERTION]: chunk of umi not found.
[1]     at htmlChunks.forEach (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:104:27)
[1]     at Array.forEach (<anonymous>)
[1]     at chunksToFiles (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:93:14)
[1]     at /sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:188:32
[1]     at Generator.next (<anonymous>)
[1]     at asyncGeneratorStep (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:62:103)
[1]     at _next (/sandbox/node_modules/@umijs/preset-built-in/lib/plugins/commands/htmlUtils.js:64:194)
[1]     at process._tickCallback (internal/process/next_tick.js:68:7)
[1] (node:405) UnhandledPromiseRejectionWarning: Unhandledpromise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 10)

代码编辑体验

代码编辑没有智能提示,想同步在本地开发,却不好找到指定节点,因为文件名都是一长串hash名称

imove是否让前端离业务更远了

以我的理解,imove前期可以帮助代码更好的组织,后期可以运维直出页面? 那么其实前端在这里起到的作用更像是一个“工具人”的作用。离业务更远,离涨薪更远?

节点内容编辑体验

  1. 节点内容太长时,不能自动换行,体验较差。
  2. 节点内容不支持换行书写。

How to switch from Chinese to English (or other languages) in the UI

Hi team,
How to switch from Chinese to English (or other languages) in the Front End.
I know Chinese & English & Vietnamese, so I want to contribute to translating the project into these languages.
Currently I translation directly in _imove\packages\core\src\mods\header\connectStatus\index.tsx_
Many thanks for considering my request.

wsl1安装依赖报错

按照 README 中步骤在安装依赖这一步报错,系统环境为win10 64位,wsl1

406 verbose stack SyntaxError: Unexpected end of JSON input while parsing near '...qtu6VYSXUExVPx6H8s8+O'
406 verbose stack     at JSON.parse (<anonymous>)
406 verbose stack     at parseJson (/root/.nvm/versions/node/v10.23.2/lib/node_modules/npm/node_modules/json-parse-better-errors/index.js:7:17)
406 verbose stack     at consumeBody.call.then.buffer (/root/.nvm/versions/node/v10.23.2/lib/node_modules/npm/node_modules/node-fetch-npm/src/body.js:96:50)
406 verbose stack     at process._tickCallback (internal/process/next_tick.js:68:7)
407 verbose cwd /home/xu/projects/github/imove/packages/core
408 verbose Linux 4.4.0-18362-Microsoft
409 verbose argv "/root/.nvm/versions/node/v10.23.2/bin/node" "/root/.nvm/versions/node/v10.23.2/bin/npm" "install"
410 verbose node v10.23.2
411 verbose npm  v6.14.10
412 error Unexpected end of JSON input while parsing near '...qtu6VYSXUExVPx6H8s8+O'
413 verbose exit [ 1, true ]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.