通过角度在电子中读/写本地json文件

时间:2018-04-07 03:19:13

标签: angular electron

我想在电子中创建函数的function clickUntilDone { $.ajax({ type: "post", url: "me.php", dataType: "text", data: { ...... }, timeout: 20, tryCount : 0, retryLimit : 3, success: function(data){ //do some awesome stuff }, error: function(xhr, textStatus){ if (textStatus == 'timeout') { this.tryCount++; if (this.tryCount <= this.retryLimit) { //try again $.ajax(this); return; } else{ // ***** HERE ---> clickUntilDone() } } }); } getpost来访问本地JSON文件。

  1. 目前,我正在使用put来执行此操作,但我需要在运行电子项目之前每次单独运行localhost。

  2. 我使用了另一个名为 - json-server的库。但我总是得到fs错误。

  3. 有没有办法解决这个问题,还是有其他有用的方法来做到这一点?

1 个答案:

答案 0 :(得分:3)

electron使用chromius并在node.js上运行,您可以直接使用fs(node.js buildin文件系统模块)来操作本地文件。

简单来说,您可以在fs(来自角项目)的window上将index.html模块作为全局变量包含在内

window.fs = require('fs')

根据get通过post的API,为postfswindow.fs函数或其他任何函数构建文件服务。

阅读本地文件,例如:

@Injectable()
export class FileService {
  fs: any;
  constructor() {
    // or this.fs = <any>window.fs
    this.fs = (window as any).fs;
  }

  // read file synchronous
  getFile(path: string) {
    // return synchronous filestream
    return this.fs.readFileSync(path);
  }
}