electron-vite 受 bytenode 启发,具体实现: 实现一个插件 bytecodePlugin 来解析构建产物,并确定是否编译为字节码。 启动Electron 进程将构建产物编译成 .jsc 文件,并确保生成的字节码可以在 Electron 的 Node 环境中运行。 自动生成字节码 Loader(加载器),让 Electron 能正常加载字节码模块。 支持开发者自...
然后定义一个编译 jsc 文件的函数(这里解释一下由于 node 默认是不能直接运行 v8 bytecode 所以 bytenode 有提供一个 LoaderFile 用于加载 bytecode),函数接收一个 source 文件路径参数,调用 bytenode.compileFile 编译 jsc 代码,调用 bytenode.addLoaderFile 生成 loaderfile 替换源代码文件。 const bytenode = ...
bytenode.compileFile('./main.min.js','./main.jsc');// 其他需要编译成字节码的文件// ...require('./main.jsc'); 项目发布的入口文件main.js内容差不多:只保留bytenode和v8的引入,v8设置--no-lazy,最后引入编译生成的字节码文件main.jsc 软件功能设计上的防护 花式禁用调试工具。 注:文章代码片段中...
启动 Electron 进程将构建产物编译成.jsc文件,并确保生成的字节码可以在 Electron 的 Node 环境中运行。
启动Electron 进程将构建产物编译成.jsc文件,并确保生成的字节码可以在 Electron 的 Node 环境中运行。 自动生成字节码 Loader(加载器),让 Electron 能正常加载字节码模块。 支持开发者自由决定编译哪些块。 此外,electron-vite 还解决了一些 bytenode 无法解决的问题: ...
启动Electron 进程将构建产物编译成.jsc文件,并确保生成的字节码可以在 Electron 的 Node 环境中运行。 自动生成字节码 Loader(加载器),让 Electron 能正常加载字节码模块。 支持开发者自由决定编译哪些块。 此外,electron-vite 还解决了一些bytenode无法解决的问题: ...