javascript - 如何通过 webpack 加载具有多个 babel 设置的相同 js 文件?
问题描述
我的团队拥有一个自定义元素加载器脚本,其工作是从 webcomponentsjs 中提取polyfill,然后定义我们所有的自定义元素。根据浏览器是否支持类,我们必须加载 2 个不同的组件包之一。
我们当前的构建过程是混乱和繁琐的。我们分别运行 webpack 3 次:
- 以极少的编译构建组件包
- 再次构建组件包,但转译掉类(用于 ie11 支持)
- 阅读文件系统以找出这些包的名称(文件名包括哈希,所以我们不知道它们会在前面是什么),并第三次运行 webpack,使用 webpack 的DefinePlugin从 1 和 2 注入包名称.
有没有办法根据导入中的查询参数选择要使用的 babel 设置?我想做这样的事情:
if (supportsClasses) {
import('./components.js');
else {
import('./components.js?enableTranspilation');
}
它需要更改此文件及其导入的所有内容的 babel 设置。如果这是可能的,那么我将能够通过一次 webpack 调用(而不是 3 个单独的调用)来构建整个项目。
解决方案
推荐阅读
- qt - Q_GADGET 具有值类型语义?
- java - 使用弹簧靴的多个构造函数注入歧义
- g1gc - 为什么MemoryPoolMXBean.MemoryUsage.getUsed for old generation的结果在G1下没有混合GC的情况下会减少?
- powershell - 有没有办法结合 -ForegroundColor 和 | 写主机语句中的输出文件?
- javascript - 用大对象响应更新状态
- android - 从具有多对多关系的房间查询
- json - Apple Pay 支付令牌示例
- c# - 如何获得具有可变步数的可枚举范围
- php - 表单 Asyncronus Ajax 调用到 php 页面
- c# - 将字符串转换为 LiteDB BsonDocument