cordova / phonegap插件添加VS config.xml

时间:2015-07-10 12:58:24

标签: cordova phonegap-plugins cordova-plugins

我发现有一些关于phonegap / cordova插件的东西很混乱。

例如我可以运行

cordova plugin add cordova-plugin-whitelist

OR

phonegap plugin add cordova-plugin-whitelist

这样做不会修改config.xml文件

或者我可以添加到config.xml:

<plugin name="cordova-plugin-whitelist" spec="1.1.0" />

OR

<gap:plugin name="cordova-plugin-whitelist" spec="1.1.0" />

所有这些不同的插件安装之间究竟有什么区别?我到底应该使用哪一个?

我想在所有其他开发人员计算机上使用相同的插件,在完全相同的版本中可以获得稳定且可重现的环境(并且CLI似乎没有指定版本......)。我应该将我的/plugins文件夹中的任何内容包含在Git中吗?

注意:如果重要,我不知道将来会使用哪种cordova或phonegap CLI,因为我还不知道我是否会使用Phonegap建立。目前CLI(v5.1.1)似乎都运行良好。

4 个答案:

答案 0 :(得分:6)

使用:

XYBC4975723434

Source

答案 1 :(得分:2)

答案很长。请阅读。

  

所有这些不同的插件安装之间究竟有什么区别?我到底应该使用哪一个?

截至此日期(2015-11-05)并且持续时间更长,不同插件之间存在细微差别。 Cordova和Phonegap正在努力消除这种情况。出于所有密集目的,您应该使用* NEW *插件库

新插件存储库:http://cordova.apache.org/plugins/

NEW CORE插件列表:http://cordova.apache.org/docs/en/5.1.1/cordova/plugins/pluginapis.html (注意:不在此列表中的那些插件不是核心。)

  

我想在所有其他开发人员计算机上使用相同的插件,在完全相同的版本中可以获得稳定且可重现的环境(并且CLI似乎没有指定版本......)。我应该将任何my / plugins文件夹包含在Git中吗?

没有。目前,只需使用当前的NPM系统。您可能希望使用--save选项,以便保留正在使用的插件的副本。注意:这有副作用。有关详细信息,请阅读Cordova docs

团队注意事项:许多框架都希望您使用&#34;领先&#34;边缘,以&#34;最新和最伟大的&#34;出售。这有很多很多副作用。 Cordova和Phonegap都有版本控制选项。学会使用它。

这将有助于: http://devgirl.org/2014/11/07/cordovaphonegap-version-confusion/

HOW TO apply the Cordova/Phonegap the whitelist system

我引用:

  

这是细分。

     

对于Cordova使用的白名单系统,实际上有四(4)个不相关的系统。

     
      
  1. legacy-whitelist插件(避免)是以前的白名单系统。它仅用于向后兼容。
  2.   
  3. whitelist插件(Cordova&#39; s)是新的白名单系统。自Cordova Tools 4.0.0起,它是必需的。它有三(3)个部分。
  4.   
  5. W3's CSP(内容安全策略级别2)是通过网页实现网页的白名单系统。自Cordova Tools 5.0.0起,它是必需的。它有十六(16)个部分。
  6.   
  7. Apple's ATS(App Transport Security)是iOS独有的白名单系统。从iOS9开始需要它。它在Info.plist
  8. 中实现   

答案 2 :(得分:1)

你应该开始阅读PhoneGap和Cordova之间的区别(没有) - 可以在这里找到更多信息:Difference between PhoneGap and Cordova

命令cordova plugin add cordova-plugin-console不修改config.xml必须是您系统上的问题。我只是尝试过,当然,这可以按照预期在5.1.1中运行。

在没有添加插件的新构建之后

config.xml

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.example.com" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <preference name="AllowInlineMediaPlayback" value="false" />
    <preference name="BackupWebStorage" value="cloud" />
    <preference name="DisallowOverscroll" value="false" />
    <preference name="EnableViewportScale" value="false" />
    <preference name="KeyboardDisplayRequiresUserAction" value="true" />
    <preference name="MediaPlaybackRequiresUserAction" value="false" />
    <preference name="SuppressesIncrementalRendering" value="false" />
    <preference name="GapBetweenPages" value="0" />
    <preference name="PageLength" value="0" />
    <preference name="PaginationBreakingMode" value="page" />
    <preference name="PaginationMode" value="unpaginated" />
    <feature name="LocalStorage">
        <param name="ios-package" value="CDVLocalStorage" />
    </feature>
    <allow-intent href="itms:*" />
    <allow-intent href="itms-apps:*" />
    <name>test</name>
    <description>
        A sample Apache Cordova application that responds to the deviceready event.
    </description>
    <author email="dev@cordova.apache.org" href="http://cordova.io">
        Apache Cordova Team
    </author>
    <content src="index.html" />
    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
</widget>

添加cordova plugin add cordova-plugin-console后,底部有三个新行:

<feature name="Console">
    <param name="ios-package" value="CDVLogger" />
</feature>
  • gap:config.xml
  • 的PhoneGap设置
  • 在不同版本中添加插件将使用此命令:cordova plugin add [PLUGIN_ID]@[VERSION]
  • 我建议你设置一个包含所需插件的存储库,而不是有人应该关注它并更新插件,这样其他人就可以将这些插件分配到他们的计算机上,如果他们需要那个插件。< / LI>
  • 只使用其中一个,PhoneGap或Cordova,因为没有区别。

答案 3 :(得分:0)

<gap:plugin name="cordova-plugin-whitelist"npm />

如果您使用此代码

,有时使用此功能无效
<gap:plugin name="cordova-plugin-whitelist" spec="1.1.0" />