koot
koot copied to clipboard
考虑使用 @babel/preset-modules
https://github.com/babel/preset-modules
<!-- polyfill for legacy browsers -->
<script nomodule type="text/javascript" src="<%- pathname('polyfill.js') %>"></script>
<!-- import main -->
<script type="module" src="<%- pathname('modern.js') %>"></script>
<script nomodule type="text/javascript" src="<%- pathname('legacy.js') %>"></script>
https://youtu.be/QDljY2I1Pfw?t=974
可行的做法
- 生成
client
Webpack 配置时,复制一份,复制的配置对象添加legacy
或modern
标记 - 生成
babel-loader
时,根据标记决定使用env
还是module
- 注意 SPA 的
inject
脚本