【问题标题】:Building an ionic 2/cordova app on PhoneGap in production mode在生产模式下在 PhoneGap 上构建 ionic 2/cordova 应用程序
【发布时间】:2017-09-24 13:08:18
【问题描述】:

上下文

  • 我正在为 iOS 构建一个 Cordova / Ionic 2 应用程序。
  • 该应用程序在PhoneGap构建网站上构建以生成ipa。
  • 应用生成成功,可以启动应用了

问题

我定义了一些用于开发和生产的配置

process.env.IONIC_ENV === 'prod' 在我的一个角度模块文件中切换。但是当我运行应用程序时,它显然是在运行开发配置。

我还解压缩并检查了生成的 ipa www/build/main.js 文件,然后去寻找我的环境模块。

寻找环境变量的sn-p原来是

useValue: process.env.IONIC_ENV === 'prod' ? ProdEnv : DevEnv

已转换为:

useValue: false ? ProdEnv : __WEBPACK_IMPORTED_MODULE_2__environment_dev__

它清楚地告诉我预处理器已运行并将检查转换为 false,这意味着我的构建没有在 IONIC_ENV 设置为“prod”的情况下运行

问题

如何让 Phonegap build 在生产模式下构建我的 iOS 应用程序?

【问题讨论】:

    标签: ios cordova angular ionic-framework phonegap-build


    【解决方案1】:

    PhoneGap Build 使用您提供的确切代码文件构建每个原生移动应用 - 没有“开发”与“产品”的概念。根据对“process.env.IONIC_ENV”的引用,我猜您正在使用Ionic's App Scripts 来预编译您的应用程序。我对它们不熟悉,但基于the available tasks,您可以在将代码上传到PhoneGap Build 之前运行:build --prod

    PhoneGap Build 支持have an API,因此从技术上讲,您可以通过使用这些脚本加上您自己的脚本“构建”Build 在生产模式下创建您的应用程序来“构建 --prod”,然后通过他们的 API 上传应用程序。

    【讨论】:

    • 嗯,我没有意识到,当我上传我的项目时,它实际上是在使用我自己构建的资产。使用 build --prod 标志进行构建确实使它成为一个 prod 构建。
    • Ionic 和 PG Build 之间有很多强大、有用的功能,但这也意味着混乱!我自己经常迷路:)
    最近更新 更多