【问题标题】:How to bundle AngularJS, WebAPI 2 web application as an Cordova package如何将 AngularJS、WebAPI 2 Web 应用程序捆绑为 Cordova 包
【发布时间】:2015-08-03 11:32:58
【问题描述】:

我有一个 VS.Net 2013、Asp.Net WebAPI-2、AngularJS 1.4 门户,我想将其转换为 Cordova 包以加快应用程序的启动时间。目前没有真正需要访问手机上的任何本机功能。它是一个响应式网页,因此它非常适合手机外形尺寸,但在慢速网络上,每次使用一些图像时都需要一段时间才能打开页面。

我想知道是否有人可以帮助我理解:

  1. 如果有任何推荐的方法来维护网页和 Cordova 应用程序的通用代码库,因为它已经响应。

  2. 我访问 WebAPI 的 Angular 服务看起来有点像:-

    function checkUserAccess(fnSuccess, fnError) {
    return $resource( * * "/api/authorization/user/checkaccess" * * , {}, {
      "checkAccess": {
        method: "POST",
        isArray: false
      }
    })
    .checkAccess({}, {}, fnSuccess, fnError);
    

    }

但是当它转换为 Cordova 应用程序时,我认为我们必须提供完整的 URI 以及我的域名。那么有没有一种更简单的方法可以仅在 Cordova 构建的情况下添加域名前缀,而无需对所有服务调用进行硬编码?

【问题讨论】:

    标签: angularjs cordova asp.net-web-api visual-studio-cordova


    【解决方案1】:

    当然,我在你提到的同一个技术堆栈中有几个应用程序

    关于单一代码库:在编写 Cordova 时,您编写的所有内容都位于 www/ 文件夹中,例如 js、html 和 css。 Cordova 采用这一点并在其他地方创建移动应用程序包。如果您的代码在两者中都相同,那么您只需将此 www/ 包部署到网站即可。无需额外的工作来维护单独的代码库或任何东西。

    我能想到的唯一问题是 Cordova 的导入脚本会失败。只要您的代码没有进行任何 Cordova 调用就可以了,您可以随时将它们包装在 if(Cordova) 中以覆盖您的基础。

    关于 API URI:您需要在某处提供一些硬编码的端点,否则您的 cordova 应用程序将不知道该去哪里。你可以

    1) 只需在 config.json 中加载您的 serviceBase 或在您的 app.run 中硬编码 2) 为驻留在静态地址(由上面的#1 引用)的 getEndpoints 创建一个服务,它返回所有其他端点的位置

    【讨论】:

      猜你喜欢
      • 2017-06-06
      • 2019-09-15
      • 2014-10-08
      • 1970-01-01
      • 2011-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多