【问题标题】:Writing A JSON File in Ionic用 Ionic 编写 JSON 文件
【发布时间】:2018-12-15 09:20:00
【问题描述】:

我正在创建一个 Ionic 应用程序,我需要将数据保存在 JSON 文件中。

要创建该文件,我运行:

this.file.writeFile(this.file.dataDirectory, 'test.json', 'hello,world,', {replace: true});

但是上面的代码没有做任何事情。 test.json 没有被创建!

问题是什么?

编辑:有人告诉我必须使用cordova。真的吗?如果有,他是什么意思?

编辑:是因为我无法归档“this.file.dataDirectory”吗?

PS:我正在使用(ionic cordova run browser)来运行脚本。会不会引起问题。

另外,使用 Melchia 的示例后,我什至没有得到 console.log!

【问题讨论】:

    标签: angular typescript cordova ionic-framework ionic3


    【解决方案1】:

    运行这个命令来安装cordova文件插件:

    $ ionic cordova plugin add cordova-plugin-file
    $ npm install --save @ionic-native/file
    

    安装插件包后,将其添加到应用的 NgModule 中。

    import { File } from '@ionic-native/file';
    
    
    ...
    
    @NgModule({
      ...
    
      providers: [
        ...
        File
        ...
      ]
      ...
    })
    export class AppModule { }
    

    然后在你的page.ts中

    import { File } from '@ionic-native/file';
    
    constructor(private file: File) { }
    
    
    this.file.writeFile(this.file.dataDirectory, 'test.json', 'hello,world,', {replace: true}).then(_ => console.log('Directory exists')).catch(err => console.log('Directory doesn\'t exist'));
    

    【讨论】:

    • 我已经完成了所有这些,只是不是 ".then(_ => console.log('Directory exists')).catch(err => console.log('Directory doesn\'t exist '));"部分。我将进行更改,然后更新您。谢谢!
    • 好的。我进行了更改,但没有得到任何 console.log 或没有创建 json 文件。我不知道这是否重要,我正在使用“ionic cordova run browser”运行。 @Melchia
    • 但是你在你的设备上测试过这个吗?
    • 当然它不会在浏览器中工作,因为你使用的是cordova
    【解决方案2】:

    我认为对于 ionic V4,您应该使用 import { File } from '@ionic-native/file/ngx';

    【讨论】:

    • 这似乎没有回答原来的问题,也许你想评论现有的答案?最好将您的评论放在该答案下,而不是作为一个全新的答案,或者如果您确定它是正确的,则可以建议使用新语法对现有答案进行编辑。
    猜你喜欢
    • 2021-08-25
    • 2020-12-15
    • 1970-01-01
    • 2016-09-11
    • 2021-08-11
    • 1970-01-01
    • 2017-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多