React - 基于浏览器的差异加载(es5、es6、esnext 等)

caf*_*anu 5 javascript ecmascript-5 ecmascript-6 reactjs angular

我来自角世界。Angular 8 最近发布了一个差异加载功能。这意味着,根据您的浏览器,将提供不同的编译 Javascript 代码。因此,假设您使用的是 Internet Explorer 11,该应用程序将下载 ES5 javascript 文件,而如果您使用的是常绿/新浏览器(chrome、firefox 等),那么您提供的 Javascript 将是 ES6。

看到这个(https://blog.angular.io/version-8-of-angular-smaller-bundles-cli-apis-and-alignment-with-the-ecosystem-af0261112a27

React 世界中有这样的事情吗?

Tho*_*ann 2

这取决于。如果您使用的是 CRA,那么这个用例就会出现问题。

然而,Angular 的差异加载所做的只是配置 Webpack 来构建 ES5 和 ES6 版本。nomodule然后可以使用和有条件地加载这些不同的输出type="module"

可以在此处找到一篇解释如何使用 Webpack 执行此操作的精彩文章。