Как избежать использования window.eval () с «реакцией запуска скриптов» - PullRequest
0 голосов
/ 12 марта 2019

Я запускаю приложение React в браузере, который не поддерживает window.eval(), который, похоже, используется инструментами React Dev через веб-пакет. См:

Uncaught Error: Sorry, peruse does not support window.eval().
    at window.eval.global.eval (/home/mrh/safe-releases/2017-09-21_Alpha_2/safe-browser-v0.11.2-linux-x64-dev/resources/app.asar/app/webPreload.prod.js:sourcemap:1)
    at Object../node_modules/react-dev-utils/webpackHotDevClient.js (0.chunk.js:5312)
    at __webpack_require__ (bundle.js:782)
    at fn (bundle.js:150)
    at Object.0 (main.chunk.js:750)
    at __webpack_require__ (bundle.js:782)
    at checkDeferredModules (bundle.js:46)
    at Array.webpackJsonpCallback [as push] (bundle.js:33)
    at main.chunk.js:1

Это пользовательский браузер для безопасной сети, и он не позволяет window.eval(), поэтому я хочу найти способ избежать этого.

Другие сталкивались с подобной проблемой в этом браузере при использовании Vue.js, и один из разработчиков Neutrino нашел решение (см. Ниже), которое должно было изменить способ использования исходных карт. Я не понимаю, как сделать эквивалент здесь, и не могу быть уверен, что это проблема.

Вот решение для аналогичной проблемы с Vue.js, если это помогает:

https://github.com/neutrinojs/neutrino/issues/1063#issuecomment-417618637

1 Ответ

0 голосов
/ 12 марта 2019

У меня есть решение. Немного брутально, поэтому, если вы знаете лучший способ, пожалуйста, ответьте.

1) npm run eject для удаления всех инструментов сборки и конфигурации, чтобы их можно было настраивать индивидуально. Это необратимо (см. Сценарий реакции-извлечения )

2) Замените 'eval-source-map' на 'cheap-module-source-map' в webpack.config.js. Для получения дополнительной информации и альтернативных настроек карты сборки см. Webpack Devtool

Использование npm run start теперь работает без необходимости window.eval().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...