【问题标题】:What is the difference between the plugin and feature tags in config.xml?config.xml 中的 plugin 和 feature 标签有什么区别?
【发布时间】:2017-09-18 20:37:47
【问题描述】:
Cordova 的config.xml 文件中的<feature> 和<plugin> 标签有什么区别?
似乎<plugin> 标签添加了一个插件,也可以传递变量,而<feature> 标签只为现有插件或 Cordova 核心中包含的功能添加变量。这是正确的吗?
// Plugin tag
<plugin name="cordova-plugin-whitelist" spec="~1.3.1" />
// Plugin tag including feature
<plugin name="phonegap-plugin-barcodescanner" spec="6.0.3">
<variable name="CAMERA_USAGE_DESCRIPTION" value="Scan some stuff" />
</plugin>
【问题讨论】:
标签:
cordova
ionic-framework
phonegap-plugins
cordova-plugins
【解决方案1】:
您的示例不包含 <feature> 标签,这是大多数 Ionic 应用程序中包含的示例:
<feature name="StatusBar">
<param name="ios-package" onload="true" value="CDVStatusBar" />
</feature>
不同之处在于您可以使用这些标签做什么。 <plugin> 标签允许您定义您的应用程序依赖的插件,包括版本号等内容。如果插件作者创建了这样的功能,您还可以使用<variable>标签将变量传递给插件。
使用<feature> 标签,您可以告诉 Cordova 哪个包名称用于某个插件。这就是示例中发生的情况,对于 StatusBar 插件,我们告诉 Cordova 查找名称为 CDVStatusBar 的包。另一个可用的属性是onload,它告诉 Cordova 在加载应用程序时需要初始化插件。
此信息可在 Cordova 文档中找到,您可以找到 here。他们还在文档中提到以下内容:
注意:大多数情况下,您不想直接设置它。
我认为了解<feature> 标签是件好事,但不要认为你应该过分担心它们。只在插件需要时包含它们,否则不要管它。