搜索文档 /

配置

文件

配置值存储在JSON文件中。离子CLbetway东盟体育appI维护一个全局配置文件,通常位于 〜/.betway东盟体育appionic/config.json ,以及项目配置文件,通常在项目的根目录中 betway东盟体育appionic.config.json

CLI提供了从项目配置文件和全局CLI配置文件设置和打印配置值的命令。看 betway东盟体育app离子配置 - 螺旋 或查看使用文档 betway东盟体育app离子配置获取 betway东盟体育app离子配置集

项目配置文件

每个离子项betway东盟体育app目都有一个项目配置文件,通常在项目的根目录处。以下是注释的 betway东盟体育appionic.config.json 文件。


              {
             
              //该应用程序的人类可读名称。
             
              “姓名”
              
             
              “我的应用程序”
              ,,,,
             
              //应用程序的项目类型。CLI使用此值来确定哪个
             
              //命令和命令选项可用,要输出的帮助
             
              //文档,以及用于Web Asset构建和开发服务器的内容。
             
              “类型”
              
             
              “角”
              ,,,,
             
              // AppFlow的应用程序ID。
             
              “ID”
              
             
              “ ABC123”
              ,,,,
             
              //用于集成的配置对象,例如Cordova和电容器。
             
              “集成”
              
             
              {
             
              “科尔多瓦”
              
             
              {
             ...
              }
             
              }
              ,,,,
             
              //挂钩配置 - 有关详细信息,请参见下面的挂钩部分。
             
              “钩子”
              
             
              {
             ...
              }
             
              }
复制 复制

环境变量

CLI将寻找以下环境变量:

  • betway东盟体育appionic_config_directory :全局CLI配置的目录。默认为 〜/.betway东盟体育appionic
  • betway东盟体育appIonic_http_proxy :设置一个用于代理所有CLI请求的URL。看 使用代理
  • betway东盟体育appIonic_token :自动使用 AppFlow

标志

CLI标志是改变CLI命令行为的全局选项。

  • - 帮助 :而不是运行命令,而是查看其帮助页面。
  • - verbose :显示所有日志消息以进行调试目的。
  • - 安静的 :只显示 警告 错误 日志消息。
  • - 非交互 :关闭交互式提示和精美的输出。如果检测到CI或非TTY端子,则CLI自动非交互。
  • - 确认 :打开确认提示的自动确认。小心:CLI在做可能有害的事情之前提示。自动引起的可能性可能会带来意外的结果。

钩子

CLI可以在某些事件(例如构建之前和之后)运行脚本。要钩住CLI,以下 NPM脚本 可以使用 package.json

  • betway东盟体育app离子:服务:之前 :在开发服务器启动之前执行
  • betway东盟体育app离子:服务:之后 :在终止开发服务器后执行
  • betway东盟体育app离子:构建:之前 :在Web资产构建开始之前执行
  • betway东盟体育app离子:构建:之后 :在Web资产构建完成后执行
  • betway东盟体育app离子:电容器:运行:之前 :执行 betway东盟体育app离子电容器运行 在执行电容器打开之前
  • betway东盟体育app离子:电容器:构建:之前 :执行 betway东盟体育app离子电容器构建 在执行电容器打开之前
  • betway东盟体育app离子:电容器:同步:之后 :执行 betway东盟体育app离子电容器同步 同步之后

当对任何钩子使用shell脚本时,挂钩上下文是在带有前缀的环境变量中定义的 betway东盟体育appionic_cli_hook_ctx_

以下示例显示了为 betway东盟体育app离子:电容器:构建 钩。


              betway东盟体育appionic_cli_hook_ctx_name
              =
             电容器:构建:之前
              betway东盟体育appionic_cli_hook_ctx_build_cordova_assets
              =
             真的
              betway东盟体育appionic_cli_hook_ctx_build_engine
              =
             浏览器
              betway东盟体育appionic_cli_hook_ctx_build_project
              =
             应用程序
              betway东盟体育appionic_cli_hook_ctx_build_type
              =
             
              betway东盟体育appionic_cli_hook_ctx_build_verbose
              =
             错误的
              betway东盟体育appionic_cli_hook_ctx_capacitor_app_id
              =
             io.betway东盟体育appionic.starter
              betway东盟体育appionic_cli_hook_ctx_capacitor_app_name
              =
             betway东盟体育app离子启动器应用
              betway东盟体育appionic_cli_hook_ctx_capacitor_verbose
              =
             错误的

钩子也可以在 betway东盟体育appionic.config.json 。定义a 钩子 项目中的对象,其中每个键是钩子的名称(没有 betway东盟体育app离子: 前缀),该值是通往JavaScript文件或路径数组的路径。

在下面的示例中,该文件是导入并运行的 betway东盟体育app离子:构建:之前 钩。


              “钩子”
              
             
              {
             
              “构建:之前”
              
             
              “ ./scripts/build-before.js”
             
              }
              ,,,,
复制 复制

JavaScript Hook文件应导出一个单个函数,该功能传递了一个参数( CTX )每当挂钩执行时。

该参数是给出的挂钩文件的上下文,该上下文因钩之间的不同而不同,并且不同。

./scripts/build-before.js


             模块
              
              出口
             
              =
             
              功能
              ((
              CTX
              
             
              {
             安慰
              
              日志
              ((
             CTX
              
              ;
             
              }
              ;
复制 复制

多应用项目

在CLI 6.2.0+中可用

离子CLbetway东盟体育appI支持多应用配置设置,该设置涉及多个离子应用程序和单个存储库中的共享代码,或 monorepo

这些文档概述了离子CLI的多应用功能,但并没有真正详细介绍每个框架的详细信息。betway东盟体育app

如果您使用的是Angular,请参阅 本文 举些例子。

设置步骤

  1. 创建一个目录并初始化一个monorepo(请参阅 项目结构 有关完整的详细信息)。

  2. 将MonorePo初始化为离子多应用项目。betway东盟体育app这将创建一个多应用 betway东盟体育appionic.config.json 文件。看 配置文件 有关完整的详细信息。

    
                    $
                   betway东盟体育app离子init -multi-app
  3. 采用 betway东盟体育app离子开始 创建离子应用程序或betway东盟体育app betway东盟体育app离子初始化 初始化现有应用程序(请参阅 添加一个应用程序 有关完整的详细信息)。

项目结构

在多应用项目中,项目结构是灵活的。唯一的要求是多应用 betway东盟体育appionic.config.json 在存储库的根部文件。

以下是一个示例设置,其中应用程序在其中 应用/ 目录与共享代码分开 lib/ 目录。注意根 betway东盟体育appionic.config.json 文件和monorepo的 package.json 文件。

应用/
betway东盟体育appionic.config.json
package.json

配置文件

在多应用项目中,应用程序共享一个 betway东盟体育appionic.config.json 文件在存储库的根部,而不是每个应用程序都有自己的。Multi-App Config File通过嵌套配置对象包含每个应用程序的配置 项目 目的。可以使用默认应用程序使用 DefaultProject

下面是一个示例文件,对应于上面的文件结构。


              {
             
              “ DefaultProject”
              
             
              “ myapp”
              ,,,,
             
              “项目”
              
             
              {
             
              “ myapp”
              
             
              {
             
              “姓名”
              
             
              “我的应用程序”
              ,,,,
             
              “集成”
              
             
              {
              }
              ,,,,
             
              “类型”
              
             
              “角”
              ,,,,
             
              “根”
              
             
              “应用程序/myapp”
             
              }
              ,,,,
             
              “ myotherapp”
              
             
              {
             
              “姓名”
              
             
              “我的其他应用程序”
              ,,,,
             
              “集成”
              
             
              {
              }
              ,,,,
             
              “类型”
              
             
              “角”
              ,,,,
             
              “根”
              
             
              “应用程序/myotherapp”
             
              }
             
              }
             
              }
复制 复制

当检测到多应用项目时,离子CLI将在Root中配置的应用程序的上下文中运行betway东盟体育app betway东盟体育appionic.config.json 。项目选择标准如下:

  1. 如果全球CLI选项 - 项目 已指定,该项目是通过键查找的 项目 目的。例如, -project = myApp 将选择 myapp 项目。
  2. 如果CLI检测到它是在项目路径中运行的,则配置 钥匙,它将选择匹配的项目。例如,在 应用程序/myotherapp/src 目录将选择 myotherapp 项目。
  3. 如果一个 DefaultProject 在中指定 betway东盟体育appionic.config.json ,当未满足上述条件时,它将选择指定的项目。

添加一个应用程序

可以通过使用应用程序在多应用项目中注册 betway东盟体育app离子开始 创建新应用或 betway东盟体育app离子初始化 初始化现有应用程序。

使用 betway东盟体育app离子开始

如果在 betway东盟体育app离子开始 ,CLI将将应用程序配置添加到根部 betway东盟体育appionic.config.json 文件而不是创建特定于项目的文件。

可以使用依赖性安装来跳过 - 不deps 如果将依赖项悬挂在monorepo的根上。


              $
              光盘
             应用/
              $
             betway东盟体育app离子开始
              “我的新应用程序”
             - 不deps

使用 betway东盟体育app离子初始化

如果以其他方式创建应用程序 betway东盟体育app离子开始 ,例如,使用预构建的模板,使用 betway东盟体育app离子初始化 在Multi-App项目中注册现有应用程序。

确保该应用没有现有 betway东盟体育appionic.config.json


              $
              光盘
             应用/现有应用/
              $
             betway东盟体育app离子初始化

高级配置

覆盖构建

通常,CLI基于项目类型运行一组硬编码命令。例如,Angular项目的标准Web资产构建是 NG运行应用程序:构建 。Web资产构建可以被覆盖,并且 betway东盟体育app离子构建 可以通过使用 betway东盟体育app离子:构建 NPM脚本 。同样,可以使用Dev服务器覆盖 betway东盟体育app离子:服务 NPM脚本。

密切注意离子CLI提供给脚本的旗帜。betway东盟体育app如果不尊重选项,可能会发生不规则性,尤其是对于设备上的LiverEload。

命令选项

命令选项可以用环境变量表示。他们通常与 -opt =值 句法。这些环境变量的命名遵循一个模式:从 betway东盟体育appionic_cmdopts_ ,添加命令名称(用下划线替换所有空格),添加选项名称(用下划线代替任何连字符),然后大写所有内容。布尔标志(不使用值的命令行选项)可以设置为 1 或者 0 。剥去 - 不- 如果存在的话,布尔国旗的前缀( - 非开放 在离子betway东盟体育app发球中可以用 betway东盟体育appionic_cmdopts_serve_open = 0 , 例如)。

例如,命令选项 betway东盟体育app离子Cordova Run IOS -LC -LiverEload -Port = 1234 -HOST = 0.0.0.0 也可以用这一系列环境变量表示:


              $
              出口
             
              betway东盟体育appionic_cmdopts_cordova_run_livereload
              =
              1
              $
              出口
             
              betway东盟体育appionic_cmdopts_cordova_run_consolelogs
              =
              1
              $
              出口
             
              betway东盟体育appionic_cmdopts_cordova_run_livereload_port
              =
              1234
              $
              出口
             
              betway东盟体育appionic_cmdopts_cordova_run_host
              =
              0.0
             .0.0

如果这些变量是在环境中设置的, betway东盟体育app离子Cordova构建iOS 将使用新的默认设备进行选项。

遥测

CLI向Ionic发送使用数据以创造更好的体验。betway东盟体育app要禁用此功能,请运行 betway东盟体育app离子配置集-g遥测false

Baidu