添加 Cordova/PhoneGap 插件 VS 配置文件 (config.xml)

3

我对phonegap/cordova插件有些困惑。

例如,我可以运行以下命令:

cordova plugin add cordova-plugin-whitelist

或者

phonegap plugin add cordova-plugin-whitelist

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


或者我可以在config.xml中添加:

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

或者

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


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

我希望其他开发人员的电脑上都有相同版本的相同插件,以便创建稳定且可复制的环境(而CLI似乎没有指定版本…)。我应该将/plugins文件夹中的内容包含在Git中吗?

注:如果有关系的话,我还不知道将来会使用cordova还是phonegap CLI,因为我还不确定是否会使用Phonegap Build。目前两个CLI(v5.1.1)都能正常工作。

4个回答

6

使用方法:

cordova plugin add cordova-plugin-whitelist --save

来源


(注:该内容为关于添加Cordova白名单插件的指南,具体使用请参考相关文档。)

2
答案非常长,请阅读。
这些不同插件安装方式之间的确切差异是什么?最终我应该使用哪一个?
直到今天(2015年11月5日)及以后,这些不同插件之间存在微妙的差异。Cordova和Phonegap正在努力消除这些差异。在所有的目的中,您应该使用*NEW*插件存储库。
新插件存储库:http://cordova.apache.org/plugins/ 新的核心插件列表:http://cordova.apache.org/docs/en/5.1.1/cordova/plugins/pluginapis.html (注意:不在此列表中的插件不是核心插件)
我希望所有其他开发者的计算机上都有相同版本的相同插件,以获得稳定和可重复的环境(而CLI似乎没有指定版本...)。我应该将我的/plugins文件夹中的任何内容包含在Git中吗?
不。目前,仍然使用当前的NPM系统即可。你可能想要使用--save选项,以便保留你正在使用的插件的副本。注意:这会产生副作用。请阅读Cordova文档获取更多信息。 团队注意事项:许多框架希望你使用“领先”的版本,也称为“最新和最棒的”。这有很多副作用。Cordova和Phonegap都有一个版本选项。学会使用它。
这将有所帮助: http://devgirl.org/2014/11/07/cordovaphonegap-version-confusion/

如何应用 Cordova/Phonegap 白名单系统

引用内容:

这里是详细说明。
对于使用 Cordova 的白名单系统,实际上有四个(4)不相关的系统。
1.legacy-whitelist插件(避免使用)是以前的白名单系统。它仅提供向后兼容性。
2.whitelist插件(Cordova的)是新的白名单系统。从 Cordova Tools 4.0.0 开始需要使用。它有三个(3)部分。
3.W3's CSP(内容安全策略第二级)是一种按网页实施的白名单系统。从 Cordova Tools 5.0.0 开始需要使用。它有16个部分。
4.Apple's ATS(应用程序传输安全性)是 iOS 专属的白名单系统。从 iOS9 开始需要使用。它在 Info.plist 中实施。

1

您应该开始了解PhoneGap和Cordova之间的区别(实际上它们是一样的)- 更多信息可以在这里找到:PhoneGap和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: 是 PhoneGap 的一个设置,用于您的 config.xml
  • 使用以下命令添加不同版本的插件:cordova plugin add [PLUGIN_ID]@[VERSION]
  • 我建议您设置一个包含所需插件的存储库,然后有人应该关注此存储库并更新插件,以便其他人可以在需要时将这些插件 fork 到他们的计算机上。
  • 只需使用其中之一,PhoneGap 或 Cordova,因为没有区别。

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

有时候使用这段代码可能不起作用,建议使用这个。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接