Установить keep_fnames в проекте Electron + React Native - PullRequest
0 голосов
/ 31 августа 2018

В настоящее время я разрабатываю проект, который в значительной степени зависит от <object>.constructor.name для сериализации данных.

Данный проект основан на Electron.js и React Native.

Работает нормально через yarn run electron-dev, но не работает в yarn run electron-pack.

Очевидно, что WebPack и Uglify имеют тенденцию искажать имена функций, поэтому вместо

 <myTypeClassName>SomeDataType</myTypeClassName>
 <myTypeClassName>AnotherDataType</myTypeClassName>

Я получаю:

 <myTypeClassName>t</myTypeClassName>
 <myTypeClassName>e</myTypeClassName>

Что не происходит при десериализации, поскольку ни t, ни e не являются допустимыми конструкторами в области приложения.

Если я отредактирую node_modules/react-scripts/config/webpack.prod.js и добавлю keep_fnames в раздел mangle объекта конфигурации UglifyJS, проект будет работать нормально.

Однако редактирование в node_modules не является правильным способом. Как я могу установить это в моем package.json или что-то еще, чтобы использовать эту опцию?

1 Ответ

0 голосов
/ 04 сентября 2018

В конце концов мне пришлось запустить react-scripts eject, так как это казалось единственным решением для правильной настройки конфигурации.

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