Kullanıcı ayarlarını depolamak için yerleşik bir mekanizmanın yerini tespit edemiyorum. Elektronun tüm masaüstü platformlarında kullanıcı ayarlarını saklamak için standart bir yöntem sağladığını umuyordum. Bunun için bir örnek yoksa kendimi uygulayabilirim, hemen özel bir çözüme atlamak istemedim. Çevrimiçi ortamda araştırma yapmak bu konuda oldukça seyrek. Teşekkürler!Kullanıcı ayarları Electron (Atom Shell) Uygulamasında nerede saklanır?
cevap
Her platform farklı veri türleri için farklı varsayılan konumlara sahiptir. Bu nedenle, veri tabanına göre varsayılan konumlarda veri depolamak istiyorsanız, name
ile ilişkili özel bir dizinin veya dosyanın yolunu alır.
Ayrıca, kullanıcının kaydetmek istediği verileri birbirinden ayırmak için de kullanabilirsiniz ve uygulama verileriniz, kullanıcı dizinlerini dağıtmak istemediğinizi kaydeder.
Ya da sadece dosyaları depolamak istiyorsanız ben JSON olarak basit dosyasında depolamak için bulduk app.setPath(name,path)
Kabul edildiğinde, "userData" öğesini getPath (name) işlevine geçirebilir ve orada bir yapılandırma dosyası kaydedebilirsiniz. Örneğin, Visual Studio Kodu, bu yöntemi kullanarak yapılandırmasının bir kısmını saklar. Electron'da pencere durumunu kaydetme ve geri yükleme hakkında bir yazı yazdım ve aynı şeyi yapıyorum: http://www.mylifeforthecode.com/saving-and-restoring-window-state-in-electron/. –
Tam olarak aradığım şey, bu özelliğin mevcut olduğunu bilmiyordum! Teşekkürler! – CodeManiak
LocalStorage'a ne dersiniz? Bu ayarlara tarayıcı işleminden erişmeniz gerekiyorsa, muhtemelen kendiniz yazmanız gerekir (veya bunu uygulayan bir node.js kitaplığı kullanın)
https://github.com/yeoman/configstore bunu yapmak için güzel bir düğümdür. – Link14
iyi şekilde kullanabilirsiniz belirli bir yola reletive. Sorun şu ki, JSON'u uygulama dizininde depolarsanız, uygulamayı güncellediğinizde silinir. Bu yüzden mevcut işletim sistemi için kullanıcı ayarları için varsayılan dizine koymak istiyorsunuz. Neyse ki !!!!! Kullanıcı listesi dizini bulmanıza yardımcı olacak düğüm geliştiricileri için bir kütüphane var. Modül appdirectory
olarak adlandırılır ve bunu birkaç kez kullandım. Kullanımı son derece kolaydır.
Benim Elektron uygulamasıyla bu özel sorunla karşı karşıya ettik APPDIRECTORY HERE
ya da sadece 'getPath (userData)' – Dan
bakın ve bu Mesaja electron-json-storage adlı bir NPM modülü yazmak için bana ilham verdi.
Bu modül kolayca yazmasına olanak tanır/JSON okumak/app.getPath('userData')
den:
const storage = require('electron-json-storage');
// Write
storage.set('foobar', { foo: 'bar' }).then(function() {
// Read
storage.get('foobar').then(function(object) {
console.log(object.foo);
// will print "bar"
});
});
'elektron-json-storage' harika, başka bir seçim' lowdb' – JUO
Sadece meraklı ama elektron-json-storage vs 'nin avantajı ne var? Var someObj = JSON.parse (fs) .readFileSync (yol, {encoding: "utf8"})) 've' fs.writeFileSync (yol, JSON.stringify (someObj)}); 'Hatta bunu bir uyumsuz hale getirmek bile birkaç satırdan fazlasını eklemez. – gman
Ayrıca [elektron ayarları] 'na bakın (https://github.com/nathanbuchar/electron-settings). – k7sleeper
yeni modül (bugün yüklenen) Onu anladım ve json dosyaları ayarlamak için basit yöntemler verir önermek istiyorum yoktur
https://github.com/ran-y/electron-storage
Benioku:
bu dizine, geri aramalar ve sözlerini alt dizinleri gerekirse oluşturur ve destekler 0montaj
$ npm install --save electron-storage
kullanım
const storage = require('electron-storage');
API
storage.get (filePath, cb)
storage.get(filePath, (err, data) => {
if (err) {
console.error(err)
} else {
console.log(data);
}
});
storage.get (filePath)
storage.get(filePath)
.then(data => {
console.log(data);
})
.catch(err => {
console.error(err);
});
depolama.grubu (filePath, veri, cb)
storage.set(filePath, data, (err) => {
if (err) {
console.error(err)
}
});
storage.set (filePath, veriler)
storage.set(filePath, data)
.then(data => {
console.log(data);
})
.catch(err => {
console.error(err);
});
storage.isPathExists (yol, cb)
storage.isPathExists(path, (itDoes) => {
if (itDoes) {
console.log('pathDoesExists !')
}
});
storage.isPathExists (yol)
storage.isPathExists(path)
.then(itDoes => {
if (itDoes) {
console.log('pathDoesExists !')
}
});
Electron size herhangi bir şey vermez. Bunun için kutunun Ancak, Electron size kullanıcı verilerini çapraz platformda app.getPath API'sı üzerinden depolamanın idiyomik konumunu elde etmek için bir yöntem sunar. Bu benim yaptığım
- localStorage (veya herhangi bir HTML5 depolama API)
- düz JSON dosyası (ve ben için electron-config kullanın:
Bunu yapmak için 3 en yaygın yolları derdim vardır o) IndexedDB, NEDB veya sqlite
gibi
localStorage
kullanıyorum. Çoğu zaman, hem ana hem de işleyicideki verilere erişmeniz gerektiği görülüyor, dolayısıyla bir JSON dosyası mantıklı. Çok fazla veri veya karmaşık sorgulama ile uğraşıyorsanız, belki bir veritabanı mantıklı. Daha fazla in detail here hakkında yazdım.Neden düşüş var? – ccnokes
- 1. Rails uygulamasında milletler dizini nerede saklanır?
- 2. Veriler iphone'da nerede saklanır?
- 3. TempData nerede saklanır?
- 4. iPhone: NSUserDefaults nerede saklanır?
- 5. AES anahtarı nerede saklanır?
- 6. Geçici dosyalar bir Java web uygulamasında nerede saklanır?
- 7. Electron uygulaması için yerel görünümlü UI bileşenleri
- 8. Kullanıcı ayarları dosyası Netbeans 6.5 on Vista'da nerede?
- 9. .NET "Yalıtılmış Depolama" nerede saklanır?
- 10. PhantomJS önbelleğe alma. Nerede saklanır?
- 11. Sabit veri nerede saklanır? Örneğin
- 12. Magento'da nerede ve nasıl şifreler saklanır?
- 13. Electron
- 14. Electron,
- 15. Ayarları etkinliğimin düzen dosyası nerede?
- 16. Yerel android tarayıcısında bulunan çerezler nerede saklanır?
- 17. svn için varsayılan taahhüt mesajı nerede saklanır?
- 18. android.R.drawable saklanabilir veya clipart nerede saklanır?
- 19. Netbeans'ten oluşturduğumda Derby veritabanı nerede saklanır?
- 20. Android Studio, Ana Şifre nerede saklanır?
- 21. Sabit değerler hızlı bir şekilde nerede saklanır?
- 22. MVVM WPF kaydetme ve yükleme kullanıcı ayarları tasarım deseni
- 23. ldapjs kimlik doğrulaması (kullanıcı oturum açma ayarları)
- 24. Electron uygulamasında <webview> ile iletişim kurun
- 25. Atom
- 26. Atom
- 27. Atom
- 28. Formlar uygulamasında Ana yöntem nerede?
- 29. Titanyum'da UserID kullanıcı adı nasıl saklanır
- 30. Doğrudan bir Atom sunucusunun dosyalarını Atom
Ayarlarımı localStorage kullanarak kaydettim, ancak bunun Electron ile nasıl çalıştığı hakkında daha fazla bilgi edinmek istiyorum. LocalStorage'ı temizlemek ve bir Electron uygulamasının yeniden yüklemesi berbat olduğundan, bunu temizlemiyor gibi görünüyor. –