2017-03-03 3 views
0

私はAngularJSとElectronの新機能を使用しています。現在、JSONファイルからデータを読み取り、ユーザーがデータを更新および削除することができるシンプルなデスクトップアプリケーションを開発中です。また、TaffyDBを使用してデータを照会しています。 JSONファイルからデータを取得できますが、JSONファイルにデータを格納できません。AngularJS + Electron:JSONファイルにデータを保存

私はこれまでのところ、このでした試みたもの:

myApp.controller('homeController', ['$scope', '$http', function($scope, $http) { 

    $scope.saveData = function() 
    { 
     var data = $scope.data; 

     $http.post('/src/db/db.json', data).then(function (response) { 

      console.log(response); 

     }, function (response) { 

      console.log(response); 

     }); 
    }; 

}]); 

私は次のエラーを取得するブラウザ上でイベントを実行する:私たちはジャバスクリプトからユーザーのファイルシステムにアクセスすることはできませんので

POST http://127.0.0.1:64262/src/db/db.json 404 (Not Found) 

これは正常です。

私は電子パッケージとしてアプリケーションを実行すると、私は次を得る:

Object {data: Array[2], status: 200, config: Object, statusText: "OK"} 

しかし、ファイルが変更されませんでした。

AngularJSとElectronを使用してこれを達成できる方法があるかどうかを知りたいと思います。

重要なお知らせ:このアプリケーションは、スタンドアロンデスクトップアプリケーションとして実行する必要があります。言い換えれば、私のクライアントは、このアプリケーションを使用できるように他のソフトウェアやアプリケーションをインストールするものではありません。

答えて

1

HTTPを使用してファイルシステムに書き込むことはできません。これはWeb専用です。

ElectronはNode.jsで作成されています。だからNode.js File System moduleを見てください。例:

fs.writeFile('/src/db/db.json', data, (err) => { 
    if (err) throw err; 
    console.log('It\'s saved!'); 
}); 
+0

こんにちは@justin、tnxさんの返信です。これが機能するには、クライアントコンピュータにノードをインストールする必要がありますか? – Ricky

+1

ノードがElectronに含まれているので、完成したアプリケーションを提供してもNodeを別途インストールする必要はありません。しかし、これはかなり基本的ですが、電子の基礎を読んでより多くの質問をする前に理解を深めることをお勧めします。 –

+1

ありがとうございます。私はNode and Electronについてもっと研究し、この問題にできるだけ早く戻っていきます。 – Ricky

関連する問題