通过analyze分析发现其实react-dom并不算小,有100多kb,所以就想把它单独引用。
于是就在config.ts增加
externals: {
'react': 'window.React',
'react-dom': 'window.ReactDOM',
// 'bizcharts': 'window.BizCharts',
// '@antv/g2': 'G2',
},
scripts: [
'https://cdn.bootcdn.net/ajax/libs/react/17.0.2/umd/react.production.min.js',
'https://cdn.bootcdn.net/ajax/libs/react-dom/17.0.0/umd/react-dom.production.min.js',
// 'https://g.alicdn.com/code/lib/bizcharts/4.1.19/BizCharts.min.js',
// 'https://cdn.bootcdn.net/ajax/libs/antv-g2/4.2.8/g2.min.js',
],
结果发现,umi.js比react.js要先引入,umi找不到react肯定就失败了。
搜了半天,也只找到过时的答案:使用chunks: ['vendors', 'umi'],来排序。
但新版umi把chunks直接就砍掉了,无法使用。
最后还是在umi的官网文档里翻到了headScripts,确实是能通过这个参数来解决现有顺序问题。