Skip to content

打包

注意: 本文档是关于如何使用 NodeJS 进行集成

本项目中包含二进制. @maaxyz/maa-node包会从@maaxyz/maa-node-${platform}-${arch}包中获取对应MaaNode.node. 同时, 由于被加载的MaaNode.node动态链接了MaaFramework库, 且Adb控制器依赖AgentBinary, 建议直接将@maaxyz/maa-node作为外部依赖不参与打包.

如果你确实想要打包, 需要注意以下要点:

  • 通常打包工具只能发现MaaNode.node, 但不会意识到它的依赖. MaaNode.node旁边的所有dll/so/dylib应当一并放置在MaaNode.node同目录中.
  • Adb控制器会使用库脚本所在目录的../agent目录来搜索MaaAgentBinary. 也可以手动在代码中配置.

maa-node-template

可以参考 maa-node-template. 该模板提供了简易的electron打包方案.

shell
npm run build # 使用esbuild构建项目, 参考scripts/build.mjs
npm run watch # 使用esbuild和vite热重载, 参考scripts/watch.mjs
npm run package # 使用electron-forge进行打包