【问题标题】:Cordova + Angular 4 + Typescript boilerplate templateCordova + Angular 4 + Typescript 样板模板
【发布时间】:2017-08-18 19:14:02
【问题描述】:

我正在使用 Angular 4 开发一个 Web 渐进式应用程序。 此应用需要封装在 Apache Cordova 中,作为为 Android 和 iOS 平台构建的混合应用。

我正在寻找适用于 Cordova + Angular 4 的工作样板模板。 Cordova 将 www 文件夹用于 Web 应用程序,Angular 4 将 src 文件夹用于 Web 应用程序。如何将这两者合并在一起工作? Angular 'ng serve' 也应该可以工作?

【问题讨论】:

  • 如果您使用 Angular cli 来通用应用程序(强烈推荐),您可以将 .angular-cli.json 中的 apps->root 从 'src' 更改为 'www'
  • 谢谢。我在 .angular-cli.json 文件中找到了 apps: [ "root" ] 并将其从 'src' 更改为 'www' 因为 Cordova 使用 'www' 应用程序文件夹。
  • 现在,当 Cordova 和 Angular 都使用相同的“www”文件夹时,我可以使用“ng serve”启动 ng 服务器并在“localhost:4200”中查看我的应用程序。但是当我构建 Cordova 应用程序时,它从“www”开始“index.html”,但它不识别 (角度指令)来加载角度。在科尔多瓦有可能吗?
  • 我对 Cordova 不够熟悉,无法指导您,抱歉

标签: angular cordova progressive-web-apps boilerplate


【解决方案1】:

我终于设法解决了我的问题。

  • 我们需要将 Cordova "www" 文件夹和 angular "src" 文件夹合并到一个 "src" 文件夹中.
  • package.json 也需要合并以适应 Cordova 和 Angular。
  • 然后,(感谢 Gangadhar Jannu 的提示),我们需要将 ".angular-cli.json" 属性 "outDir" 更改为 "www"因为 Cordova 使用该文件夹来构建他们的应用程序。
  • 然后我们需要使用 CLI 编译 Angular 应用程序:"ng build --prod"
  • 最后构建 cordova 应用程序:cordova build android|browser|ios|..

这是一个工作样板:

https://github.com/NavCore/ngCordova

【讨论】:

【解决方案2】:

如果要改变ng cli的输出目录,可以在.angular-cli.json中配置outDir属性,如下图:

  "outDir": "../public",

然后您可以使用ng build 命令在您之前指定的outDir 中构建角度应用程序

【讨论】:

  • 那是一个输出目录,我需要项目目录。它在同一个 .angular-cli.json 文件中 -> apps: [ "root" ] property !!
  • 感谢 Gangadhar Jannu 的回答。是的,这是我问题的部分答案。我们需要使用“outDir”作为“www”文件夹来编译 Angular,因为 Cordova 使用该文件夹来构建应用程序。
猜你喜欢
  • 2017-09-07
  • 2018-05-26
  • 1970-01-01
  • 2018-09-08
  • 1970-01-01
  • 2017-10-03
  • 2018-07-14
  • 2018-12-26
  • 2017-12-08
相关资源
最近更新 更多