从项目中删除cordova插件

不知何故,在我的应用程序中,许多cordova插件已安装,因此它需要访问几乎所有的东西 – 从我的联系人到当前位置(即使这个应用程序不需要这个)。

这个应用程序是通过jenkins构build的,据我所知,一个解决scheme是用单个命令删除每个插件,所以它会像:

cordova plugin rm org.apache.cordova.battery-status cordova plugin rm org.apache.cordova.camera cordova plugin rm org.apache.cordova.contacts cordova plugin rm org.apache.cordova.geolocation cordova plugin rm org.apache.cordova.media cordova plugin rm org.apache.cordova.media-capture cordova plugin rm org.apache.cordova.splashscreen cordova plugin rm org.apache.cordova.vibration 

但有时它会显示一些错误,并且jenkins任何错误都会以构build失败而告终,那么是否有删除所有插件的命令? (在安装基础知识插件,需要任何应用程序的工作,通过cordova自动添加,所以我正在寻找一些cordova plugin rm -all但无法find它)

首先,你应该列出你的插件:

 cordova plugin list 

有了这个结果,你可以简单地做:

 cordova plugin remove <PLUGIN_NAME> 

例如:

 cordova plugin remove org.apache.cordova.media 

希望能帮助到你。

您也可以使用bash(切换到您的Cordova项目目录之后):

 for i in `cordova plugin ls | grep '^[^ ]*' -o`; do cordova plugin rm $i; done 

你可以使用: cordova plugins list | awk '{print $1}' | xargs cordova plugins rm cordova plugins list | awk '{print $1}' | xargs cordova plugins rm

并使用cordova plugins list来validation插件是否全部被删除。

从我通常使用的terminal(osx)

 cordova plugin -l | xargs cordova plugins rm 

pipe,pipe一切!

扩展一下:这个命令将遍历cordova plugin -l的结果并将其提供给cordova plugins rm

xargs是你想知道为什么你以前不知道的命令之一。 看这个tut。

cordova-check-plugins的v2.0.0使您能够删除项目中的所有插件:

 $ npm install -g cordova-check-plugins $ cordova-check-plugins --remove-all 

它将尝试使用Cordova CLI删除每个插件,但是如果失败,它将强制从platforms/plugins/删除plugins/

如果您还想从config.xml中删除,请使用:

 $ cordova-check-plugins --remove-all --save 

免责声明:我是cordova-check-plugins的作者

我用这个python单行版来做:

 python -c "import subprocess as sp;[sp.call('cordova plugin rm ' + p.split()[0], shell=True) for p in sp.check_output('cordova plugin', shell=True).split('\n') if p]" 

显然它不处理任何错误的情况下,但它完成了工作。

据我记得从cordova,你应该有一个“res”文件夹中的xml文件,其中包含项目中使用的插件列表。 您可能需要从列表中删除这些未使用的插件。 而且你也应该删除相关的文件。

这是删除cordova插件的命令行

cordova plugin remove <pluginid>

例如,我跑了cordova plugin并得到了一个插件列表,然后我使用该插件的ID卸载

cordova plugin remove com.monday.contact-chooser

您可以通过键入命令行来获得帮助

cordova help <command>

基于处理已安装插件列表的脚本可能无法正常工作,因为已安装的插件(例如,cordova-plugin-file和cordova-plugin-file-transfer)之间存在依赖关系。

在这个例子中,脚本会首先find文件插件,然后它会尝试删除它,当文件传输需要时,我们会得到一个错误。 所以我们会有的