找不到名字&#cord;'。离子构建ios

时间:2016-10-28 06:02:48

标签: ionic2 ngcordova

我正在使用ionic2 build。 我做了ionic plugin add cordova-plugin-file并使用了以下代码。

import {File} from 'ionic-native';
@Injectable()
export class GlobalVars {
  constructor(platform:Platform) {
    platform.ready().then(() => {
       this.appRootFolder = cordova.file.documentsDirectory;
    }
  }
}

然后我做了ionic build android我得到了这个错误

  

找不到姓名' cordova'

经过2个小时的挣扎,我按照以下命令解决了问题

npm install -g typings
typings install dt~cordova --save --global 
typings install dt~cordova/plugins/filesystem --save  --global

这有助于构建android,但仍然无法用于iOS。当我运行这个ionic build ios时,我仍然得到

  

找不到姓名' cordova'

3 个答案:

答案 0 :(得分:8)

我在文件顶部写了这一行(声明var cordova:any;

import {File} from 'ionic-native';
declare var cordova:any;

问题已经解决了。

答案 1 :(得分:2)

最近,您可以这样做:

在CLI中,从项目文件夹:

ionic plugin add cordova-plugin-file

然后,在您的组件/类文件中:

import { File } from 'ionic-native';

declare var cordova: any;
const fs:string = cordova.file.dataDirectory;
File.checkDir(this.fs, 'mydir')
    .then(_ => console.log('yay'))
    .catch(err => console.log('boooh'));

Ionic团队现在已经很好地实现并记录了许多本机插件:)

来源:Ionic Native docs

答案 2 :(得分:0)

尝试从此处复制cordova.d.ts文件和插件文件夹 - https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/cordova230

将此文件夹和文件粘贴到project/typings目录中。