electron技术就是基于开源的
chromium
内核,实现了跨端的桌面端开发框架,所以其常用的业务开发脚本就是js代码了那么在打包后,这些js代码虽然会经过压缩混淆编译等处理,但是仍然可以破解出来
所以就需要一种技术,把js代码转成二进制文件
如果可以的话,还需要对这些文件进行加密,绑定本地机器的mac地址,保证了激活唯一性
接下来,将聊聊怎么做这些事情
bytenode
通过bytenode
将所有的js文件编译为字节码
1 | const bytenode = window.require('bytenode'); |
webpack插件
用来修改按需加载资源的方式,不再加载js资源了
1 | const pluginName = 'ChangeEntryWebpackPlugin'; |
步骤
- 先将前端单页项目,通过webpack编译后,生成js文件
- 启动供编译jsc的electron,在该electron里面,将上一步生成的js文件,编译为jsc的字节码文件。在electron里面编译的目的,是要保证版本一致性,因为该jsc文件,最终也会打包到最后的electron的产物里面
- 最后执行需要生成最终包的electron脚本
- 运行时加载方式伪代码
1 | // 这里使用的是基于award框架的项目示例 |