joyexpr

Results 42 comments of joyexpr

> @joyexpr 我这样配置是OK的 奇怪了,这样配置我也试过的不行,你webstorm是什么版本呢?我换个版本试下

终于可以了,可能是我webstorm版本的bug, --sourcemap参数加在运行/调试配置里不生效,不会拼到electron-vite dev 的后面,我直接修改package.json为"dev": "electron-vite dev --sourcemap" 再debug就可以,晕死。。。

> @joyexpr 感谢你提出来很多宝贵意见,共同进步 🤝 正计划重写个项目,选型时正好看到您开源的库,也是我的幸运,库的设计也很符合我的品味(干净),因为以前没写过electron和vite项目,有些知识点储备不足,所以可能疑问比较多,感谢您回复这么快,谢谢

发现需要在 --sourcemap 前再添加 --空格,才能把参数传给electron-vite dev,如图所示

> @joyexpr 你的npm是不是6版本的 是的, node 14.18.1 , npm 6.14.15,你是npm7吗,不需要多加个-- ?

awesome! 明天试下。 看了下文档,有个疑问,文档中提到修复了异步箭头函数可能导致 Electron 应用程序崩溃的问题,这个跟transformArrowFunctions参数(默认为false)有什么关系? 另外单纯讨论 transformArrowFunctions 这个参数的话,是否将箭头函数转换为普通函数对于打完的包有什么意义和影响吗,也不是用来看的代码?

好的,看了下例子,大概了解了。明天再测试并细了解下。 不过从用户的角度上,因为打完包,用户不会关心制品的可读性,更期望打出来的包的行为跟开发测试的一致,所以我原以为transformArrowFunctions 这个参数默认值为true可能更合适些。如果用户有明确了解后果和风险,希望提高一点打包速度,可以选择关闭箭头函数转换。个人想法哦。

刚跑了下例子,发现即使对可能抛出Error的方法进行try catch,也不能避免加密打完的包崩溃(未开启箭头函数转换情况下),所以还是建议默认开启transformArrowFunctions 并在文档中补充和(修复了异步箭头函数可能导致 Electron 应用程序崩溃)的关系 以下是一段可能的代码示例,不一定是最佳写法,但也不能说写得不对,这种情况打包后崩溃就比较不好了:

hi,我们来解决另一个写死密钥字符串加密的问题吧。首先,这个需求肯定是存在的,比如对本地存储的加密密钥,如electron-store的encryptionKey参数。 目前我们是使用[gnirts库](https://github.com/anseki/gnirts)先手动将密钥字符串混淆,生成一个自执行函数,然后将源代码里的密钥字符串替换成上述自执行函数 希望 electron-vite的bytecodePlugin 可以自动化这个步骤,插件增加参数:是否混淆字符串以及要混淆的字符串数组,打包时扫描到对应字符串(或者可以提供一个标识性的方法或标志,防止有些密钥因为历史等原因建得太简单或普通但又不方便改)即进行上步的替换,替换完后再进行后续的编译字节码 您觉得呢?

> @joyexpr 有没有类似其他的库 [javascript-obfuscator](https://github.com/javascript-obfuscator) 这个库貌似也有类似功能,不过功能有点多和复杂,没细研究过 不过我们插件的这个字符串混淆功能其实也可以随着版本升级进行算法更新优化,反正也不会影响终端用户的使用,甚至也可以同时支持多种算法,设计一个参数让用户选择