在Electron + React Native项目中设置keep_fnames

时间:2018-08-31 13:16:18

标签: react-native electron electron-builder

当前,我正在开发一个项目,该项目高度依赖<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>

反序列化失败,因为te都不是应用程序范围内的有效构造函数。

如果我编辑node_modules/react-scripts/config/webpack.prod.js并将keep_fnames添加到UglifyJS配置对象的mangle部分,该项目就可以正常工作。

但是在node_modules中进行编辑不是正确的方法。如何在package.json中进行设置,或如何使用此选项?

1 个答案:

答案 0 :(得分:0)

最后,我不得不运行react-scripts eject,因为它似乎是正确进行配置的唯一解决方案。