babel: polyfill Array.from для поддержки IE11
В настоящее время у меня возникают проблемы с работой моего приложения React в IE11. Кажется, проблема в том, что некоторые из новых компонентов ES6 недоступны в IE11. Поэтому моя цель - заполнить недостающую функциональность. Я использую nwb [1], который является установкой с нулевой конфигурацией для приложений React. Тем не менее, я не уверен, как настроить Babel (или Webpack?) Для заполнения некоторых методов, таких как Array.from. Похоже, что fetch, Promise и Object.assign полностью заполнены, но не 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. https://github.com/insin/nwb
1 ответ
Похоже, вам нужно добавить babel-polyfill в ваш проект.
Это будет эмулировать полную среду ES2015+ и предназначено для использования в приложении, а не в библиотеке / инструменте. Этот полифилл автоматически загружается при использовании babel-node.
Это означает, что вы можете использовать новые встроенные модули, такие как Promise или WeakMap, статические методы, такие как Array.from или Object.assign, методы экземпляров, такие как Array.prototype.include, и функции генератора (при условии, что вы используете плагин регенератора). Polyfill добавляет к глобальной области видимости, а также к собственным прототипам, таким как String, для этого.
Самый простой способ для вас, вероятно, будет импортировать его в начало вашего основного файла js:
import 'babel-polyfill';