我在使用webpack别名时遇到了一些麻烦,并且让它与流程很好地配合使用。
我有别名:
alias: {
vue$: 'vue/dist/vue.esm.js',
puma: path.resolve(__dirname, 'assets/app/stores/clothes'),
},
我在我的组件中通过导入这样使用它:
import components from "puma/components"
对于我的flowconfig,我将其设置为:
module.name_mapper='^puma\/.*' -> 'puma/\1'
我真的不确定这种OCaml类型的正则表达式如何工作......我需要帮助。
这篇文章的最终目的是能够解决错误:
^^^^^^^^^^^^^^^^ puma. Required module not found
答案 0 :(得分:0)
想出来了!
我只是不太了解name_mapper
中发生了什么,我仍然没有完全理解它,但我的猜测是:< / p>
flow解析你的文件,然后当它进入导入时,我认为它会对其name_mappers
进行一些检查,看看导入语法是别名还是需要映射到别的东西。在这种情况下,当它到达puma
时,代码库中没有名为puma
的目录,但name_mapper
中恰好有.flowconfig
符合其正则表达式,所以它沿着映射路径向下移动到assets/app/puma/clothes
。
我申请的正则表达式并不正确,我最终使用了类似module.name_mapper='^puma' -> 'assets/app/stores/clothes'
之类的东西来让它发挥作用。
我有一个问题......这对性能有多大影响?现在流量是否检查name_mapper
的每次导入,看看是否有映射?添加新的name_mapper
会大大降低流的解析速度吗?
如果有人知道,我听到它会非常好奇。