至此核心代码得到了一定的保护, 并可以方便的导入业务逻辑中进行使用, 但这对于electron还是存在问题. electron所使用的node与我们正常安装使用的不同, 即使你安装了和electron所使用相同版本号的node所编译出来的jsc也不能在electron中使用, 所以我们需要在electron中进行编译. 具体例子可以参照bytenode中的example 注意...
实现一个插件bytecodePlugin来解析构建产物,并确定是否编译为字节码。 启动Electron 进程将构建产物编译成.jsc文件,并确保生成的字节码可以在 Electron 的 Node 环境中运行。 自动生成字节码 Loader(加载器),让 Electron 能正常加载字节码模块。 支持开发者自由决定编译哪些块。 此外,electron-vite 还解决了一些 ...
npm install bytenode 然后定义一个编译 jsc 文件的函数(这里解释一下由于 node 默认是不能直接运行 v8 bytecode 所以 bytenode 有提供一个 LoaderFile 用于加载 bytecode),函数接收一个 source 文件路径参数,调用 bytenode.compileFile 编译 jsc 代码,调用 bytenode.addLoaderFile 生成 loaderfile 替换源代码文件。
实现一个插件 bytecodePlugin 来解析构建产物,并确定是否编译为字节码。 启动Electron 进程将构建产物编译成 .jsc 文件,并确保生成的字节码可以在 Electron 的 Node 环境中运行。 自动生成字节码 Loader(加载器),让 Electron 能正常加载字节码模块。 支持开发者自由决定编译哪些块。 此外,electron-vite 还解...
启动Electron 进程将构建产物编译成.jsc文件,并确保生成的字节码可以在 Electron 的 Node 环境中运行。 自动生成字节码 Loader(加载器),让 Electron 能正常加载字节码模块。 支持开发者自由决定编译哪些块。 此外,electron-vite 还解决了一些bytenode无法解决的问题: ...
项目发布的入口文件main.js内容差不多:只保留bytenode和v8的引入,v8设置--no-lazy,最后引入编译生成的字节码文件main.jsc 软件功能设计上的防护 花式禁用调试工具。 注:文章代码片段中的devEnv为开发环境标记变量,类型Boolean,true表示当前为开发环境,具体实现请根据自己的业务判断。例如,若你的项目使用webpack打包代码...
启动 Electron 进程将构建产物编译成.jsc文件,并确保生成的字节码可以在 Electron 的 Node 环境中运行。