Javascript 与Lerna一起使用Flow并创建React应用程序
我有一个Lerna软件包,其中包含两个不同的React应用程序,使用CreateReact应用程序制作(我们称它们为应用程序a和应用程序B)。其中一个应用程序导入另一个应用程序。我想向这两个应用程序添加流支持。为此,我在全球级别安装了Flow 单独使用每个应用程序时,Flow功能正常。但是,当我将其中一个应用程序导入另一个应用程序时,在应用程序B中出现以下错误:Javascript 与Lerna一起使用Flow并创建React应用程序,javascript,reactjs,npm,flowtype,lerna,Javascript,Reactjs,Npm,Flowtype,Lerna,我有一个Lerna软件包,其中包含两个不同的React应用程序,使用CreateReact应用程序制作(我们称它们为应用程序a和应用程序B)。其中一个应用程序导入另一个应用程序。我想向这两个应用程序添加流支持。为此,我在全球级别安装了Flow 单独使用每个应用程序时,Flow功能正常。但是,当我将其中一个应用程序导入另一个应用程序时,在应用程序B中出现以下错误: Module parse failed: Unexpected token (8:5) You may need an appropr
Module parse failed: Unexpected token (8:5)
You may need an appropriate loader to handle this file type.
import { AppA } from 'app-a';
type Options = {
key: string,
onSuccess: function,
我的解释是,Flow没有处理应用程序A,因为它是应用程序B内部的一个符号链接依赖项(由于Lerna)。为了解决这个问题,我尝试了以下方法:
- 在.flowconfig的[options]下,添加:
其中module.name\u mapper='^app-a$'->'/../app-a/src/index.js'
是app a的入口点。此解决方案来自:index.js
- 在.flowconfig的[include]下,添加:
。/app-a/src/index.js
- 不要全局使用Flow,而是在每个应用程序中分别安装Flow。使用这些单独的流实例,我在App B内部运行了
,发现Flow ls
和App-B
都是文件列表的一部分,但仍然得到了相同的错误App-a
- 我一直在避免弹出我的CreateReact应用程序,因为我希望能够轻松地更新到新版本。因此,如果我不必使用flow strip types插件,它将是更理想的