在 Electron + React Native 项目中设置 keep_fnames
Set keep_fnames in Electron + React Native project
目前我正在开发一个严重依赖<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
,因为这似乎是正确配置的唯一解决方案。
目前我正在开发一个严重依赖<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
,因为这似乎是正确配置的唯一解决方案。