【问题标题】:Deploy Ionic as a website将 Ionic 部署为网站
【发布时间】:2015-10-18 08:18:30
【问题描述】:

我创建了一个 ionic 应用程序并希望将其部署为网站。在自定义域上部署它的最佳方式是什么?我正在考虑使用 azure web 应用程序来托管 ionic 应用程序。所有文档都将其用作 IOS 和 Android 的混合应用程序。但在这一点上,我们只对它作为一个网站感兴趣。

【问题讨论】:

  • 希望 Ionic 应用可以成为 ROR 的前端:Serve Rails API and Ionic mobile website together
  • 其他答案告诉如何将build 文件夹的内容上传到网络主机,但这还不够。必须将 Web 服务器配置为在所有目标上加载 index.html 文件。当您直接提供文件夹的内容时(例如在本地计算机上使用 python -m SimpleHTTPServer 时),它将不起作用。

标签: angularjs ionic-framework ionic


【解决方案1】:

这是一个迟到的答案,但作为 Ionic 2 的官方:

通过 Ionic 2,我们完全支持网络(包括最终构建的 支持渐进式网络应用程序)作为一个平台 Android、IOS、Windows 10 和电子。感谢您使用 Ionic!

还有

如果您使用某些仅适用于本机的 Cordova 插件 那么这些平台将无法在网络上运行,但如果你是 使用 Ionic native 他们会优雅地失败。但如果你远离 从使用那些特定的插件,或编写逻辑来提供 当在网络上时,它应该可以完美地工作。另外,我们的 浏览器支持包括 Chrome、Safari、Firefox、Opera(因为它只是 chrome 现在)和 Edge。我们不支持任何版本的互联网 Explorer with Ionic 2. 所以基本上,只要你保留 Cordova 记住插件,在你的 Android 上工作的同一个 Ionic 2 项目, IOS 或 Windows 10 设备在浏览器中也能正常工作。 谢谢!

来源:https://github.com/ionic-team/ionic/issues/7376


根据我在 Ionic 1 中的经验,在网站上工作很简单,只需复制/粘贴 www 目录,实际上,这确实有意义,您正在运行 AngularJS 网站!您可能会遇到一些错误并且某些功能无法正常工作(我的意思是本机插件,例如 facebookConnect),但您可以处理它并运行特定于 Web 的版本。

在我们公司,我们确实有一个应用程序作为带有firebase的网站和具有相同代码的移动应用程序工作,但是您确实需要编写几行代码来处理网页浏览端或移动原生调用。

【讨论】:

    【解决方案2】:

    对于ionic2,添加corbova浏览器平台,然后上传到web服务器platforms/browser/www

    【讨论】:

    • 这就是我所追求的。我只想能够将 www/ 上传到网络服务器以供客户端显示。它不需要与任何插件交互,只需要纯 UI。谢谢你
    【解决方案3】:

    编辑: Ionic 1.2 官方supports deployment as a website

    正如我在对唯一提供的答案的评论中所述 - 我不同意

    如果您没有使用任何 Cordova 插件,那么将www 文件夹的内容上传到您的服务器是没有问题的(如果您真的愿意的话),并且woila - 您将拥有相同的应用程序。

    但是,重要的是要注意 Ionic 从未打算用于此类用途,并且您“网站”的用户必须拥有最新的浏览器才能正确查看“网站”(由于某些原因无法分解) Ionic 在 CSS 或 HTML 中使用的一些旧浏览器不支持的功能)。

    您可以查看the tutorial,逐步了解如何重新创建应用程序。我从字面上取出了www 文件夹的内容并将其放在网络服务器上,您可以看到它有效。

    【讨论】:

    • 很好。我真诚地从未在没有任何 Cordova 插件的情况下测试过。这就是为什么我通常使用 Ionic View 测试我的应用程序。
    • 我测试了它,这就是我回复这个的原因。您可以在此示例中看到这一点:nikola-dev.com/IonicCalculator/mobile.html.
    • 很有趣,但在真正的应用程序中,我认为很难做这样的事情。任何更复杂的逻辑都会在网络版本中中断。
    • 再一次,我不得不不同意。这只不过是一个具有 Ionic 样式的简单 AngularJS 应用程序。当然,必须确保您的用户使用最新的浏览器。所有这一切我都没有说出来,我们实际上有一个“网络应用程序”(超过 20k LOC),我们使用 Ionic 开发并部署不是作为移动应用程序而是作为网站。但是,是的,我同意你的观点,因为 Ionic 说这本身并不意味着像这样使用并且它“可能”会中断,因此大多数用户不应该这样做。在我们的例子中它可以工作,但它不是一个“简单”的应用程序。
    • Any more complex logic would break in the web version. 更复杂的逻辑不仅仅是一种样式。在网站的 Ionic 应用程序中使用相同的代码简直是疯了。你会受到限制,因为你不能在应用程序中使用 Cordova 插件,因为网站使用相同的版本,而 web 将不支持这些插件。您在网站中使用移动组件,用户体验完全不同。仅仅为了使用组件,有很多库(Bootstrap、Semantic、Foundation 等)。我认为将 AngularJS 应用程序与 Ionic 的 css 视为 Ionic 应用程序是不正确的。
    【解决方案4】:

    检查我的回答 ionic: using the framework with only HTML5 是否将其用作 Web 应用程序。

    您可以将其部署为 s3 上的静态网站,并使用您的自定义域指向 s3。您可以将 s3 存储桶配置为用作静态网站主机。有很多关于如何去做的教程。

    【讨论】:

      猜你喜欢
      • 2017-05-03
      • 1970-01-01
      • 2013-10-23
      • 1970-01-01
      • 1970-01-01
      • 2016-04-20
      • 1970-01-01
      • 1970-01-01
      • 2011-03-23
      相关资源
      最近更新 更多