Config.xml 文件

17 Mar 2025 | 4 分钟阅读

Config.xml 可以定义为 Cordova 应用程序的全局配置文件,我们可以在其中更改应用程序的配置。 在上一节中,我们创建了第一个 Cordova 应用程序,并在其中设置了反向域和名称。 如果要更改这些现有值,则可以使用 config.xml 文件轻松更改它们。

它是一个平台无关的 xml 文件,其中包含 Cordovawww 文件夹中的代码转换为特定于平台的安装程序所需的所有必要信息。 此文件根据 W3C 的打包 Web 应用程序控制 Cordova 的行为。 它还指定了应用程序的元数据。 它是创建任何 Cordova 应用程序时自动创建的默认文件。

可以手动编辑此文件,也可以使用命令行界面 (CLI) 的特定命令编辑。 我们可以向该文件添加两个配置,即全局平台特定

全局配置指定所有设备通用的配置,而平台特定配置是特定于平台的。

这些配置被解析到应用程序中,然后将内容转换为一组功能。 这些功能负责生成策略以访问本机设备 API 并显示应用程序与 Web 域的交互。

此文件位于应用程序的顶层目录中

app/config.xml

Config.xml file

在 3.3.1-0.2.0 之前的版本中,config.xml 文件位于 app/www/config.xml

当我们使用 CLI 构建任何应用程序时,config.xml 文件的版本将被复制到各种 platforms/ 子目录中。

config.xml 文件的配置表

下表定义了 config.xml 文件中使用的元素

要素描述
Widget它定义了应用程序的反向域值,该值应在创建应用程序时指定。
名称它定义了应用程序的名称。
描述它表示应用程序的描述。
作者它表示可在应用商店列表中显示的联系信息。
内容它表示顶层 Web 资产目录中应用程序的起始页面。 默认值为 index.html,它显示在顶层 www 目录中。
插件它是增强 Cordova 功能的附加功能。 它可以定义为代码包,用于帮助与本机平台进行通信。
访问它用于控制对特定网络域的访问。 它具有默认的 origin*,表示访问权限已对任何域开放。
Engine (引擎)它指定有关平台的信息,这些信息在实施期间被还原。
allow-intent它用于启用特定的 URL,以要求应用程序打开。
Hook它表示您的自定义脚本,该脚本在特定操作发生时由 Cordova 调用。 它对于扩展默认的 Cordova 功能很有用。
平台它表示我们构建应用程序的平台。
resource-file它将资源文件安装到系统中。

widget

widget 是 config.xml 文件的根元素。 widgets-config.xml 文件存储 widget 定义、widget 属性、页面定义和默认 widget 模板的信息。 我们可以编辑 config.xml 的配置设置来执行多项任务。 例如,如果我们要启用自定义 widget,我们可以通过在 config.xml 文件中定义 widget 轻松做到这一点。 它由一些属性组成,这些属性如下所示

属性(类型)仅适用于平台说明
id(字符串)一个必需的属性,用于指定应用程序的反向域标识符。
version(字符串)一个必需的属性,用于定义以 minor/major/patch 符号表示的完整版本号。
ios-
CFBundleIdentifier(字符串)
iOS
它表示 iOS 平台的备用包 ID。 它会覆盖 id
ios-
CFBundleVersion(字符串)
iOS
它表示 iOS 的备用版本。
android-
activityName(字符串)
Android
它表示 AndroidManifest.xml 中的活动名称。 请注意,它可以在添加 Android 平台后设置。
android-
packageName(字符串)
Android
它定义了 Android 的备用包名称。 它覆盖 id.
windows-
packageName(字符串)
Windows
它定义了 Windows 的包名称。
默认值:Cordova.Example
windows-
packageVersion(字符串)
它定义了 Windows 的备用版本。
osx-
CFBundleVersion(字符串)
OS X
它定义了 OS X 的备用版本。
xmlns:cdv(字符串)一个必需的属性,用于定义命名空间前缀。
xmlns(字符串)一个必需的属性,用于定义 config.xml 文件的命名空间。

preference: 用于将各种选项设置为名称/值属性对的元素。 首选项的名称不区分大小写。 许多首选项特定于各个平台。 下面列出了 preference 的一些属性

属性类型说明
导向String它允许您锁定方向。 因此,它不会响应方向的变化而旋转。 允许的值为 default、landscape 和 portrait。 它的默认值为 default
EnableViewportScaleBoolean如果我们将值设置为 true,它将阻止通过 viewport 元标记进行用户缩放范围的设置。 它的默认值为 false
UIWebViewDeclarationSpeedString它用于控制动量滚动的减速速度。 它的默认值为 normal
BackupWebStorageString允许的值为 none、local 和 cloud。 它的值设置为 cloud,以通过 iCloud 备份 Web 存储数据。

feature

如果要使用 CLI 构建应用程序,则必须使用插件命令来启用设备 API。 因此,顶层 config.xml 文件不会改变。 因此,该元素不适用于工作流程。 如果您直接在 SDK 中工作并使用特定于平台的 config.xml 的源文件,则必须使用该标记来启用设备级别的 API 和外部插件。

Name: 字符串类型的 feature 的一个属性,用于定义要启用的插件的名称。