我目前无法让我的React应用程序在IE11中运行。问题似乎是IE11中没有一些新的ES6功能。所以我的目标是填充缺少的功能。我使用的是nwb [1],它是React应用程序的零配置设置。但是,我不确定如何配置Babel(或Webpack?)来填充某些方法,如Array.from。看起来像fetch,Promise和Object.assign都是polyfill-ed而不是Array.from。任何帮助将不胜感激。
这是我的nwb.config文件:
module.exports = {
type: 'react-app',
webpack: {
define: {
VERSION: JSON.stringify(require('./package.json').version),
HOSTNAME: JSON.stringify(process.env.NODE_ENV === 'production' ?
'https://xyz.azurewebsites.net' :
'http://localhost:8080')
},
rules: {
babel: {
test: /\.jsx?/
}
},
extra: {
resolve: {
extensions: ['.jsx']
},
devtool: '#inline-source-map'
},
html: {
favicon: 'src/img/favicon.ico'
}
}
};
谢谢,
[1] React app的工具包。 https://github.com/insin/nwb
答案 0 :(得分:2)
听起来您需要在项目中添加babel-polyfill。
这将模拟完整的ES2015 +环境 用于应用程序而不是库/工具。这种polyfill是 使用babel-node时自动加载。
这意味着你可以使用像Promise或WeakMap这样的新内置函数static 像Array.from或Object.assign这样的方法,像 Array.prototype.includes和生成器函数(假设您使用 再生器插件)。 polyfill也增加了全球范围 为了做到这一点,像String这样的原生原型。
最简单的方法可能是将其导入主js文件的顶部:
import 'babel-polyfill';