我发现有一些关于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)似乎都运行良好。
答案 0 :(得分:6)
答案 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/
我引用:
这是细分。
对于Cordova使用的白名单系统,实际上有四(4)个不相关的系统。
- legacy-whitelist插件(避免)是以前的白名单系统。它仅用于向后兼容。
- whitelist插件(Cordova&#39; s)是新的白名单系统。自Cordova Tools 4.0.0起,它是必需的。它有三(3)个部分。
- W3's CSP(内容安全策略级别2)是通过网页实现网页的白名单系统。自Cordova Tools 5.0.0起,它是必需的。它有十六(16)个部分。
- Apple's ATS(App Transport Security)是iOS独有的白名单系统。从iOS9开始需要它。它在Info.plist
中实现 醇>
答案 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
cordova plugin add [PLUGIN_ID]@[VERSION]
答案 3 :(得分:0)
<gap:plugin name="cordova-plugin-whitelist"npm />
如果您使用此代码
,有时使用此功能无效<gap:plugin name="cordova-plugin-whitelist" spec="1.1.0" />