在Angular 2 + Cordova app

时间:2017-04-24 03:21:45

标签: cordova angular cordova-plugins

我有一个Angular 2应用程序,我将构建到cordova并部署到Android / IOS。我没有使用离子,我已经看过许多使用离子的解决方案,但我现在无法将整个项目转换为离子。

到目前为止,一切都运行良好,除了我无法弄清楚如何使用cordova插件。特别是我试图使用&#cord; plugova-file'将本地文件存储在设备上。

我无法弄清楚如何导入/访问插件文件或函数?我可能会遗漏一些有关cordova插件的工作原理。大多数教程只显示使用插件添加的任何功能,例如..

window.requestFileSystem(window.TEMPORARY, 5 * 1024 * 1024, function (fs) {
   console.log('file system open: ' + fs.name);
   createFile(fs.root, "newTempFile.txt", false);
}, onErrorLoadFs);

但是上面的代码打破了角度2,我得到了这样的错误。

 Property 'requestFileSystem' does not exist on type 'Window'.

很明显,某些事情没有得到正确的进口或崇敬。很可能是因为cordova是angular 2应用程序的子文件夹。我运行构建并将输出文件放入cordova文件夹,所以当时它不知道cordova?

 Angular_2_project
 ├── cordova
 │   └── plugins
 ├── src
 │   └── index.html
 │   └── app
 │        └── html/ts files 

1 个答案:

答案 0 :(得分:3)

似乎没有加载cordova.js。

添加cordova.js&插件相关.js

如果它的angular-cli.json只是在脚本中加载它们。

此外,当您将其添加到* .ts文件中时,它会在trans时抛出错误 当你试图建立它。 为了避免这种情况,请在* .ts文件的开头添加声明。

示例: 我想在我的ts文件中使用cordova.on。

我会写

declare var cordova:any