目前我正在开发一个严重依赖<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
添加到 UglifyJS 配置对象的mangle
部分,则项目工作正常。
但是,在node_modules
中编辑它不是一种正确的方法。如何在我的package.json
或任何使用此选项的内容中设置此选项?
最后我不得不运行react-scripts eject
,因为它似乎是正确配置的唯一解决方案。