现有的Angular 2 App和Cordova

时间:2017-04-06 18:12:30

标签: cordova angular

我做了一些搜索,似乎无法找到问题的答案。

我有一个现有的Angular 2应用程序。我可以使用Cordova为多个平台构建它吗?如果没有采取特殊措施来实现这一目标?有没有关于它是如何工作的实际文档?

在提出建议之前,我知道我想要与Ionic无关。

1 个答案:

答案 0 :(得分:3)

当然,您可以为现有的Angular2应用添加cordova支持。我还没有找到任何官方文档,但有几个资源可以提供一些有用的提示。

请参阅hereherehere

基本步骤将是:

  • 创建一个cordova项目:cordova创建myApp com.example MyApp
  • 添加必要的平台:cordova platform add myPlatform
  • 将所有创建的文件从新的cordova项目复制到现有的角度项目中,除了: www文件夹 package.json 文件
  • 将你的angular package.json与新cordova ackage.json的内容合并。
  • 更改现有的角度构建脚本,将dist文件输出到www文件夹,以便cordova可以找到最终的源文件。

到这里你应该可以运行 cordova运行android / ios / browser ,你的应用程序应该可以运行。如果您需要使用cordova特定插件,则需要将其添加到 index.html

<script type="text/javascript" src="cordova.js"></script>

不要担心cordova构建会确保目标平台上存在此文件。

然后在您的 main.ts index.ts 上添加一项检查,看看该设备是否已就绪并启动您的角度应用。像这样:

let bootstrap = () => {
    platformBrowserDynamic().bootstrapModule(AppModule);
}

if(window['cordova']){
    console.log("Cordova found")
    document.addEventListener('deviceready',bootstrap);
} else {
    console.log("Cordova not found")
    bootstrap()
}

希望它有所帮助。