采用flowtype config for webpack resolve.modules设置多个模块位置

时间:2018-05-15 09:43:03

标签: javascript webpack flowtype

是否可以为以下webpack场景配置flowtype(.flowconfig)?

我的情景:

我有2个javascript源代码(核心和主题)文件夹,主题能够覆盖核心范围内的每个文件。所以我可以在内核中有一个错误记录器,但是一个实现需要做非常自定义的东西,所以我会在主题内创建一个记录器,webpack模块加载器将返回主题文件而不是核心文件。

所以我确实有3个模块位置

  • node_modules
  • 的src / JS /主题
  • 的src / JS /芯

从我的来源加载内容时,我写Path/To/Module而不是./Path/To/Module。这有效...但我使用流来检查我的语法并做一些基本的qa。

我如何采用我的.flowfonfig来简化这些配置?

根据this source我试过:

[options]
module.system.node.resolve_dirname=src/js/theme
module.system.node.resolve_dirname=src/js/core

但这不起作用。

运行流程会导致我使用的每次导入错误...

1 个答案:

答案 0 :(得分:1)

好的,我设法解决了,但我对解决方案不满意。

我没有添加像我的问题所示的模块目录,而是添加了mappers。

# mapping theme
module.name_mapper='^Components/\(.*\)$' -> '<PROJECT_ROOT>/src/js/theme/Components/\1'
module.name_mapper='^Core/\(.*\)$' -> '<PROJECT_ROOT>/src/js/theme/Core/\1'
module.name_mapper='^Fixtures/\(.*\)$' -> '<PROJECT_ROOT>/src/js/theme/Fixtures/\1'
module.name_mapper='^Format/\(.*\)$' -> '<PROJECT_ROOT>/src/js/theme/Format/\1'
module.name_mapper='^Helpers/\(.*\)$' -> '<PROJECT_ROOT>/src/js/theme/Helpers/\1'
module.name_mapper='^Modules/\(.*\)$' -> '<PROJECT_ROOT>/src/js/theme/Modules/\1'

# mapping core
module.name_mapper='^Components/\(.*\)$' -> '<PROJECT_ROOT>/src/js/core/Components/\1'
module.name_mapper='^Core/\(.*\)$' -> '<PROJECT_ROOT>/src/js/core/Core/\1'
module.name_mapper='^Fixtures/\(.*\)$' -> '<PROJECT_ROOT>/src/js/core/Fixtures/\1'
module.name_mapper='^Format/\(.*\)$' -> '<PROJECT_ROOT>/src/js/core/Format/\1'
module.name_mapper='^Helpers/\(.*\)$' -> '<PROJECT_ROOT>/src/js/core/Helpers/\1'
module.name_mapper='^Modules/\(.*\)$' -> '<PROJECT_ROOT>/src/js/core/Modules/\1'

这似乎有效!

注意:您必须为每个(!!!)入门级

添加一个映射器