Почему IE8 получает ошибку script при использовании Facebook React.js
Я использую реакцию facebook. Не уверен, что вызывает эту ошибку, швы должны реагировать сами?
Я получаю ошибку IE8 script: объект не поддерживает это свойство или метод в строке 10898 для response.js
Я не использую мини-версию, это пропущенная версия dev. Кто-нибудь, у кого проблема с facebook, не работает в IE8? Хотите узнать, есть ли какие-то настройки, которые нужно использовать для работы в IE?
Ответы
Ответ 1
Обязательно добавьте полиполки, перечисленные в конце этой страницы:
http://facebook.github.io/react/docs/working-with-the-browser.html#browser-support-and-polyfills
Обратите внимание, что JSXTransformer.js в настоящее время несовместим с IE8, поэтому вам нужно предварительно скомпилировать ваш JSX.
Ответ 2
У меня была эта же проблема, и оказалось, что это было из-за того, как я строил пакет.
Если вы используете webpack или браузер, вам нужно "заманить" его. В базе кода есть места, которые выглядят следующим образом:
if (process.env.NODE_ENV !== "production") {
doSomethingNotIE8Compatible()
}
Чтобы удалить их, реактивная сборка использует envify browserify transform для перехода и замены экземпляров process.env.NODE_ENV
на строку со значением вашей локальной переменной окружения терминала.
Например, первая строка будет выглядеть следующим образом:
if ("production" !== "production")
После этого вы должны использовать uglify для удаления мертвого кода для сохранения размера.
Наконец, вам нужно запустить код через ES3-ifer, чтобы избавиться от некоторых мелких вещей, которые являются законными в ES5, но не ES3. Например, вызовы функций catch
.
TL;DR: в моей компании мы добились гораздо большего успеха, просто используя CDN-сборку, вместо того, чтобы пытаться правильно ее установить.