跳到主要内容
版本:v2

配置文件

Capacitor 配置文件用于设置工具链的高级选项。

以下是 capacitor.config.json 的完整配置示例:

{
// Android 的包名和 iOS 的 bundle identifier
"appId": "com.company.appname",

// 应用名称
"appName": "Capacitor Kitchen Sink",

// 构建后的 web 资源目录,该目录将用于在原生环境中运行应用
"webDir": "www",

// 使用的 JavaScript 包管理器,可以是 npm 或 yarn
"npmClient": "npm",

// 是否将 capacitor.js 作为打包后的文件复制到 web 代码中,
// 还是通过常规的 typescript/babel/webpack/rollup 工作流进行导入。
//
// 初始项目会设为 true,但如果使用 Ionic 或其他框架,
// 建议设为 false(默认值为 false)
"bundledWebRuntime": false,

// 在 Windows 上,我们需要完整路径才能自动打开 Android Studio
// 默认设置为标准安装路径,但可以手动修改
"windowsAndroidStudioPath": "C:\\Program Files\Android\Android Studio\binstudio64.exe",

// 布尔值,决定是否隐藏 iOS 和 Android 的原生日志(如果在 ios 或 android 节点中重复声明,则以子节点为准)
// 默认值为 false
"hideLogs": true,

// server 对象包含端口和 URL 配置
"server": {
// 可设置应用加载外部 URL(例如用于热更新)
"url": "http://192.168.1.33:8100",
// 可配置本地主机名,但建议保留 localhost
// 这样可以使用需要安全上下文的 web API,如
// navigator.geolocation 和 MediaDevices.getUserMedia
"hostname": "app",
// 可配置本地使用的 scheme,在从 cordova-plugin-ionic-webview 迁移时特别有用,
// 因为在 iOS 上该插件的默认 scheme 是 ionic
"iosScheme": "ionic",
"androidScheme": "http",
// 通常所有外部 URL 都在浏览器中打开。通过此配置,
// 可以让 Capacitor 在这些主机的 WebView 内打开 URL
"allowNavigation": ["example.org", "*.example.org", "192.0.2.1"],
},
// iOS 和 Android 的 Capacitor WebView 用户代理(除非在 ios 或 android 节点中重复声明)
"overrideUserAgent": "my custom user agent",
// 附加到 Capacitor WebView 原始用户代理的字符串(除非在 ios 或 android 节点中重复声明),仅在未设置 overrideUserAgent 时生效
"appendUserAgent": "string to append",
// iOS 和 Android 的 Capacitor WebView 背景色(除非在 ios 或 android 节点中重复声明)
"backgroundColor": "#ffffff",
"android": {
// Android 的 Capacitor WebView 用户代理
"overrideUserAgent": "my custom user agent for Android",
// 附加到 Android 的 Capacitor WebView 原始用户代理的字符串
"appendUserAgent": "string to append for Android",
// 仅 Android 的 Capacitor WebView 背景色
"backgroundColor": "#ffffff",
// 在 Android 上,如果从 https 协议的远程/测试服务器加载应用,
// 需要启用混合内容模式以允许 WebView 加载不同 scheme 的文件,
// 如 capacitor-content:// 或 capacitor-file://
"allowMixedContent": true,
// Android 默认键盘无法正确捕获 JS 按键事件,
// 可以通过此配置启用更简单的键盘,
// 但需注意该键盘存在一些问题和限制
"captureInput": true,
// 启用应用中所有 WebView 加载的网页内容(HTML/CSS/JavaScript)的调试功能
// 此标志可用于辅助调试 WebView 内的网页布局和 JavaScript 代码
"webContentsDebuggingEnabled": true,

// 布尔值,决定是否隐藏 Android 原生日志
// 默认值为 false
"hideLogs": true,
},
"ios": {
// iOS 的 Capacitor WebView 用户代理
"overrideUserAgent": "my custom user agent for iOS",
// 附加到 iOS 的 Capacitor WebView 原始用户代理的字符串
"appendUserAgent": "string to append for iOS",
// 仅 iOS 的 Capacitor WebView 背景色
"backgroundColor": "#ffffff",
// 配置 WebView 的 UIScrollView 内容插入行为
// 默认值为 never
// 可选值:"automatic"、"scrollableAxes"、"never" 和 "always"
// 详见 https://developer.apple.com/documentation/uikit/uiscrollview/contentinsetadjustmentbehavior
"contentInset": "always",
// 为 Cordova 插件配置使用的 Swift 版本
// 默认值为 5.0
"cordovaSwiftVersion": "4.2",
// 项目支持的最低 iOS 版本
// 默认值为 11.0
"minVersion": "11.3",
// 某些 Cordova 插件需要配置链接器标志
"cordovaLinkerFlags": ["-ObjC"],
// 布尔值,决定点击链接时是否显示目标页面预览
"allowsLinkPreview": false,

// 布尔值,决定是否隐藏 iOS 原生日志
// 默认值为 false
"hideLogs": true,
},
}