美文网首页我爱编程
Cordova(工具)- Config.xml详解

Cordova(工具)- Config.xml详解

作者: travin | 来源:发表于2016-09-14 18:19 被阅读1107次

Config.xml 官网API请点 这里
以下来自官方文档的翻译 & 本人通俗见解


Config.xml是什么,有什么作用?##

Config.xml是 cordova项目的一份全局性配置文件
能够控制整个项目的一些全局性配置
为了方便cordova CLI 的使用,config.xml放在了这里 , 其实就是项目根目录下

 app/config.xml。

需要注意的是3.3.1-0.2.0版本之前,该文件存在于app/www/ config.xml中,而且这里有它仍然支持。
当使用CLI来建一个项目,该文件版本进行被动复制到不同的平台子目录。

一个新项目的config.xml文件

<?xml version='1.0' encoding='utf-8'?>
<widget id="io.cordova.hellocordova" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>HelloCordova</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" />
    <plugin name="cordova-plugin-whitelist" spec="1" />
    <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:*" />
    <platform name="android">
        <allow-intent href="market:*" />
    </platform>
    <platform name="ios">
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
    </platform>
</widget>

widget##

config.xml文件文档的根元素
下面是widget,属性

属性 描述
id(string) 必须字段, 应用程序的标识
version(string) 必须字段, 应用程序的版本 。这个版本号对应项目的实际版本号
android-versionCode(string) 安卓的版本设置
defaultlocale iOS的设置默认语言标识
ios-CFBundleVersion(string) ios版本的bundleVersion版本设置
osx-CFBundleVersion(string) mac版本的bundleVersion版本号设置
windows-packageVersion(string) window - bundle设置
packageName(string) Windows包的包名
xmlns(string) 必须字段 ,直接默认http://www.w3.org/ns/widgets 就好 ,不用管
xmlns:cdv(string) 必须字段 , 直接默认http://cordova.apache.org/ns/1.0 就好,不用管

除了属性,还可以包含以下标签,控制对应的功能

标签 描述 属性
<name>HelloCordova</name> 指定应用程序的名称,这个名字出现在设备的屏幕上,例如这里,手机屏幕会显示这个app叫HelloCordova
description 指定app描述信息(应用商店上显示)
author 联系人信息(应用商店上显示) email(string) - 必须,邮箱 : href(string) - 必须,作者主页
content 应用程序的起始页面。默认值是index.html的 src(string) - 必须,页面路径
access 定义白名单用的,*号代表任何ip都能访问,也可以定义具体的域名 。 origin(string) - 必须,url
allow-navigation 用于顶级导航跳转,适用于 WebView, 详细用法参考 cordova-plugin-whitelist href(string) - 必须,URL
allow-intent 用于应用控制允许要求系统打开, 不填等于默认打开 href(string) - 必须,URL
engine 用于恢复版本的 name(string) - 必须, 要恢复的平台的名称 spec(string) - 必须,要恢复的平台版本
plugin 指定哪些插件在准备还原的细节。当使用--save标志添加一个插件,这个元素被自动添加到项目的config.xml。
preference 设置各种选项对名称/值属性。每个首选项的名称是区分大小写的。许多偏好是独一无二的特定的平台,而详细的每一个代表的意义,请参考官方文档,太多不一一列举了 下面的表,列出具体的所有名称
feature 用来指定什么某些插件参数,如:什么包检索来自插件代码,并确定是否插件代码是网页视图的初始化期间进行初始化。
platform 当使用CLI来构建应用程序,有时需要以指定特定于特定的平台的偏好或其他元素。使用元素来指定应该只出现在一个 platform-specific -config.xml文件中的配置。
hook cordova某些行为发生时, 调用自定义脚本, 例如 <hook type="after_plugin_install" src="scripts/afterPluginInstall.js" /> 当插件安装完成后,执行afterPluginInstall.js
<preference name="DisallowOverscroll" value="true"/>
<preference name="Fullscreen" value="true" />
<preference name="BackgroundColor" value="0xff0000ff"/>
<preference name="HideKeyboardFormAccessoryBar" value="true"/>
<preference name="Orientation" value="landscape" />

<!-- iOS only preferences -->
<preference name="EnableViewportScale" value="true"/>
<preference name="MediaPlaybackAllowsAirPlay" value="false"/>
<preference name="MediaPlaybackRequiresUserAction" value="true"/>
<preference name="AllowInlineMediaPlayback" value="true"/>
<preference name="BackupWebStorage" value="local"/>
<preference name="TopActivityIndicator" value="white"/>
<preference name="SuppressesIncrementalRendering" value="true"/>
<preference name="GapBetweenPages" value="0"/>
<preference name="PageLength" value="0"/>
<preference name="PaginationBreakingMode" value="page"/>
<preference name="PaginationMode" value="unpaginated"/>
<preference name="UIWebViewDecelerationSpeed" value="fast" />
<preference name="ErrorUrl" value="myErrorPage.html"/>
<preference name="OverrideUserAgent" value="Mozilla/5.0 My Browser" />
<preference name="AppendUserAgent" value="My Browser" />
<preference name="target-device" value="universal" />
<preference name="deployment-target" value="7.0" />
<preference name="CordovaWebViewEngine" value="CDVUIWebViewEngine" />
<preference name="SuppressesLongPressGesture" value="true" />
<preference name="Suppresses3DTouchGesture" value="true" />

<!-- Android only preferences -->
<preference name="KeepRunning" value="false"/>
<preference name="LoadUrlTimeoutValue" value="10000"/>
<preference name="InAppBrowserStorageEnabled" value="true"/>
<preference name="LoadingDialog" value="My Title,My Message"/>
<preference name="ErrorUrl" value="myErrorPage.html"/>
<preference name="ShowTitle" value="true"/>
<preference name="LogLevel" value="VERBOSE"/>
<preference name="AndroidLaunchMode" value="singleTop"/>
<preference name="DefaultVolumeStream" value="call" />
<preference name="OverrideUserAgent" value="Mozilla/5.0 My Browser" />
<preference name="AppendUserAgent" value="My Browser" />

<!-- Windows only preferences -->
<preference name="windows-phone-target-version" value="8.1" />
<preference name="windows-target-version" value="8.1" />
<preference name="Windows.Universal" value="10.0.10240.0" />
<preference name="WindowsDefaultUriPrefix" value="ms-appx://" />
<preference name="Windows.Mobile-MaxVersionTested" value="10.0.10031.0" />
<preference name="Windows.Universal-MinVersion" value="10.0.0.0" />
<preference name="WindowsStoreIdentityName" value="Cordova.Example.ApplicationDataSample" />
<preference name="WindowsStorePublisherName" value="CN=Contoso Corp, O=Contoso Corp, L=Redmond, S=Washington, C=US" />
<preference name="WindowsToastCapable" value="true" />
<preference name="uap-target-min-version" value="10.0.10586.0" />

<!-- BlackBerry only preferences -->
<preference name="ChildBrowser" value="disable"/>
<preference name="PopupBlocker" value="enable"/>
<preference name="WebSecurity" value="disable"/>

<!-- OS X only preferences -->
<preference name="HideMousePointer" value="5"/>
<preference name="OSXLocalStoragePath" value="~/.myapp/database"/>
<preference name="WindowSize" value="800x400"/>
<preference name="EnableWebGL" value="true"/>

相关文章

网友评论

    本文标题:Cordova(工具)- Config.xml详解

    本文链接:https://www.haomeiwen.com/subject/vwsvettx.html