areslabs / alita

一套把React Native代码转换成微信小程序代码的转换引擎工具。我们不造轮子,不发明新框架,只是提供工具把RN扩展到微信小程序端。
https://areslabs.github.io/alita
MIT License
1.96k stars 130 forks source link

您好,请问alita支持flow.js吗 #29

Closed penghuwan closed 4 years ago

penghuwan commented 4 years ago

衷心感谢你们提供了这个将RN转化为小程序的工具,这给我们的业务带来了帮助。 但是想问一下的是,在官方example里面,我看到了flow的配置文件,但是最终在通过Alita转化我们自己项目的flow风格的JS代码的时候,却出现了错误。

所以我的问题是:你们有什么办法可以在Alita中加入flow转换的功能吗? 或者有什么现有的功能可以使用呢

19295D9B-46CD-45C4-9E3F-E7E4C72386C1

(示例中的flow的痕迹)

A82611DA-8517-4C2A-AF13-530C06367434

(实际使用中Alita转化flow风格代码时候报错了)

同时说一下,我现在的一个替代方法是,自己通过编写shell脚本复制一个新的APP项目出来,然后通过flow-remove-type这个cli去移除flow的风格,变成普通的JS代码,然后再使用Alita转化。

要是Alita有直接的可以做就更好了

最后,不管怎样,谢谢你们

ykforerlang commented 4 years ago

flow 暂时是不支持的, 不过flow是存JS层面的东西,我们争取排到下一个版本支持

penghuwan commented 4 years ago

1.安装 flow-remove-types

npm install flow-remove-types

2.在npm中写入一段shell脚本,将本项目复制一遍,复制成project_copy, 然后在project_copy中运行flow-remove-types 去掉flow风格,使其变成普通的JS代码,最后再运行Alita,得到我们最终需要的小程序项目。

这也许有些粗暴,但确实解决了我的问题,我的npm配置脚本如下所示

"scripts": {
    "test": "cp -rf $(pwd) $(dirname $(pwd))/project_copy 
                  && cd ../project_copy
                  && flow-remove-types src/ -d src/ 
                  && cd .. 
                  && alita -i project_copy -o HelloWorldWX",
  }
  1. 你们真的非常热心,对此,我表示感谢,希望Alita越来越好
ykforerlang commented 4 years ago

好的 😃

ykforerlang commented 4 years ago

@penghuwan 已经支持flow