为什么在嵌入式项目中更喜欢Plugman而不是Cordova CLI ?



我正在研究一个内置Cordova Web视图的仅ios项目。Cordova文档说我应该使用Plugman而不是Cordova CLI。但是为什么呢?当我添加我的平台时,Cordova会自动检测并添加插件。要使用Plugman,我必须删除每个插件并重新添加它。我发现唯一的区别是Plugman将插件复制到platforms/ios/cordova/plugins中,而cordova将它们保存在plugins目录中。而且Plugman还在为其他平台复制源代码!为什么要用它?应用程序可以加载插件两种方式,所以为什么更喜欢Plugman?

这不是首选,它是使用单平台工作流时唯一可用的工具。您根本不使用cordova(及其platform,plugin命令行),只使用cordova-ios

创建一个iOS项目,运行node_modules/cordova-ios/bin/create myproj.

则使用plugman install --platform ios --project myproj --plugin cordova-plugin-device。这将把插件的JS接口复制到myproj/platform_www。因为你使用的是你自己的Xcode项目,所以你不会使用生成的"myproject"它只是一个用于存放Crodova运行时文件的暂存区。因此,您需要手动将插件的源文件添加到项目中,然后将其platform_www文件复制到您自己的www目录中,在那里您的嵌入式Web视图可以加载它们。

这应该在Cordova指南中有更详细的介绍。

在最新的文档中找到:https://cordova.apache.org/docs/en/latest/plugin_ref/plugman.html

如果您使用跨平台工作流,您可以使用cordova CLI实用程序来添加插件,如命令行界面中所述。CLI可以一次修改所有指定平台的插件。

如果您使用以平台为中心的工作流,则可以使用较低级别的Plugman命令行接口,分别用于每个目标平台。

在我的应用程序开发早期(可能是Cordova 3)。我将开始在单个平台上工作,而不是在顶层工作——然后当我做cordova build时,我的所有更改都将被覆盖。超级令人沮丧——所以我最终只在顶层工作,而不是在/platforms/目录中工作。我从来没用过Plugman。所以这可能是一个有利于CLI的数据点。: -)