webpack - 流无法识别 Webpack 别名
问题描述
我在使用 webpack 别名时遇到了一些问题,并且让它与 flow 配合得很好。
我有别名:
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
解决方案
弄清楚了!
我只是不太了解 中发生了什么name_mapper
,我仍然不完全了解它,但我的猜测是:
flow 解析您的文件,然后当它进入导入时,我认为它会对其进行一些检查,name_mappers
以查看导入语法是别名还是需要映射到其他东西。在这种情况下,当它到达时puma
,代码库中没有命名目录puma
,但恰好有一个name_mapper
适合.flowconfig
其正则表达式的目录,所以它沿着映射路径向下移动到assets/app/puma/clothes
.
我应用的正则表达式不正确,我最终使用了类似的东西:module.name_mapper='^puma' -> 'assets/app/stores/clothes'
让它工作。
我确实有一个问题……这对性能有多大影响?flow 现在是否检查每个导入name_mapper
以查看是否有映射?添加新的会name_mapper
大大降低流的解析速度吗?
如果有人知道,我会非常好奇地听到它。
推荐阅读
- c# - 是否有从 REST API 控制器反序列化基类的通用解决方案?
- java - 从文件中读取公钥或私钥时如何修复“无效的密钥格式”?
- nagios - Nagios 核心 4.4.3 | 通知配置
- bash - 远程运行与本地运行时,Bash while 循环的行为不同
- python - numpy:如何将两个排序数组合并成一个更大的排序数组?
- python - 尝试计算线性回归并将其显示在 matplotlib 图表中时出现奇怪的结果
- spring-boot - 你应该把 JWT 令牌放在哪里?
- node.js - Stripe IOS 与 Firebase 集成:创建付款意图不起作用
- c# - Blazor 服务器方法调用和执行详细信息
- sequelize-cli - 如何显示在 sequelize-cli 迁移中执行的 SQL,以供以后在生产更新中使用