插件中不包含源代码。但什么是包含在他们的是他们的 依赖性 , 递归
。之所以这样,是因为不能保证加载插件的主应用程序也包含依赖项,因此,要确保插件的生存能力,其依赖项必须是自包含的。
如果主应用程序还包含相同的依赖项(具有相同的版本),这不会引起问题,它们只会在go运行时中“实例化”一次
为了减小插件的尺寸怎么办?除了删除调试信息(您做了什么)之外,您还应该最小化依赖性。
这可能需要在插件或您要为其创建插件的应用程序中进行重新设计和重大更改。例如,插件不应引用“实现”软件包,插件应仅引用“接口”软件包。如果接口和实现未分开,则可能无法实现(因此也可能需要更改主应用程序)。
您也可以尝试尝试压缩二进制文件的实用程序,有关详细信息,请参见:使用这一奇怪的技巧缩小Go二进制文件
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)