我正在使用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'
答案 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团队现在已经很好地实现并记录了许多本机插件:)
答案 2 :(得分:0)
尝试从此处复制cordova.d.ts
文件和插件文件夹 - https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/cordova230
将此文件夹和文件粘贴到project/typings
目录中。