Menyimpan data di LocalStorage bermanfaat, tetapi ini bukan solusi yang baik ketika Anda menyimpan data yang perlu dibagikan di beberapa perangkat atau browser.
Misalnya, katakanlah Anda ingin menampilkan modal selamat datang untuk semua pengguna baru yang mendaftar untuk produk Anda. Jika Anda menggunakan LocalStorage untuk melacak jika pengguna telah melihat modal ini, pengguna Anda akan terus mendapatkan pengalaman berulang kali setiap kali mereka beralih perangkat atau browser.
Di situlah Remotestorage masuk. Menggunakan API yang sama dengan LocalStorage, Remotestorage memungkinkan Anda untuk dengan mudah membaca dan menulis data dengan cepat sambil mempertahankan keadaan di seberang browser dan perangkat untuk memberikan pengalaman pengguna yang lebih baik.
Instal perpustakaan menggunakan manajer paket favorit Anda:
npm install remote-storageAtau cukup masukkan ke dalam html Anda:
< script src =" https://unpkg.com/remote-storage@latest/dist/remote-storage.min.js " sync > </ script >Impor perpustakaan dan gunakan seperti Anda akan storstorage:
import { RemoteStorage } from 'remote-storage'
const remoteStorage = new RemoteStorage ( { userId : "my-user-id" } )
const hasSeenNewFeature = await remoteStorage . getItem ( 'hasSeenNewFeature' )
if ( ! hasSeenNewFeature ) {
await remoteStorage . setItem ( 'hasSeenNewFeature' , true )
// Highlight your new and exciting feature!
}Itu saja!
Remotestorage menggunakan ID pengguna untuk mengidentifikasi pengguna. ID Pengguna adalah string yang secara unik mengidentifikasi pengguna. Ini bisa berupa apa pun yang Anda inginkan, tetapi kami sarankan menggunakan UUID yang tidak dapat diketahui untuk mencegah pengguna menebak ID pengguna lain dan mengakses data mereka.
ID Pengguna diatur saat Anda membuat instance baru dari Remotestorage:
const remoteStorage = new RemoteStorage ( {
userId : '123e4567-e89b-12d3-a456-426614174000'
} )Jika Anda tidak memberikan ID pengguna, RemoTeStorage akan menghasilkan UUID acak yang akan berubah setiap kali pengguna mengunjungi situs Anda. Ini berguna untuk pengujian, tetapi mengalahkan tujuan remotestorage karena data tidak akan bertahan di seluruh perangkat atau browser.
Remotestorage menggunakan ID instan untuk mengidentifikasi instance aplikasi yang membuat permintaan. ID instan adalah string yang secara unik mengidentifikasi instance aplikasi. Biasanya Anda akan menggunakan ID instance yang sama untuk semua permintaan dari contoh aplikasi yang sama.
ID instan diatur saat Anda membuat instance baru dari Remotestorage:
const remoteStorage = new RemoteStorage ( {
userId : '123e4567-e89b-12d3-a456-426614174000' ,
instanceId : 'my-cool-app'
} ) Kami menawarkan server komunitas yang di -host gratis di https://api.remote.storage (perilaku default jika tidak ada serverAddress disediakan). Server yang di -host ini tidak boleh digunakan untuk aplikasi produksi, tetapi ini bagus untuk pengujian dan prototipe.
Untuk menggunakan server yang berbeda, cukup berikan opsi serverAddress saat membuat instance baru dari Remotestorage:
const remoteStorage = new RemoteStorage ( {
serverAddress : 'https://api.remote.storage' ,
userId : '123e4567-e89b-12d3-a456-426614174000' ,
instanceId : 'my-cool-app'
} )Server dapat diputar menggunakan Docker dalam beberapa menit. Lihat dokumentasi server untuk informasi lebih lanjut.
Remotestorage hanya boleh digunakan untuk data non-sensitif. Kami merekomendasikan menggunakannya untuk hal-hal seperti preferensi pengguna, pengaturan, dan data non-sensitif lainnya. Karena sifat API publik, itu tidak cocok untuk menyimpan data sensitif seperti kata sandi atau PII.
LocalStorage adalah API browser yang memungkinkan Anda untuk menyimpan data di browser. Data disimpan secara lokal di perangkat pengguna dan tidak dibagikan di seluruh perangkat atau browser. Remotestorage adalah perpustakaan yang menggabungkan API LocalStorage dengan server jarak jauh untuk bertahan di seluruh browser dan perangkat.
Remotestorage dapat digunakan tanpa otentikasi apa pun, tetapi kami sangat merekomendasikan menggunakan JSON Web Token (JWT) untuk mengotentikasi permintaan ke server. Ini dapat dilakukan dengan mengatur variabel lingkungan JWT_SECRET di .env ke rahasia jwt Anda untuk server. Lihat dokumentasi server untuk informasi lebih lanjut.
Permintaan tarik selalu diterima. Perhatikan bahwa jika Anda akan mengusulkan perubahan drastis, pastikan untuk membuka masalah untuk diskusi terlebih dahulu. Ini akan memastikan bahwa PR Anda akan diterima sebelum Anda mulai mengerjakannya.
Untuk masalah yang ada yang belum memiliki kontributor yang ditugaskan, jangan ragu untuk mengomentari masalah ini jika Anda ingin mengerjakannya. Kami akan memberikan masalah kepada Anda jika kami pikir Anda cocok.
Membuat Perubahan: Menerapkan perbaikan atau fitur bug Anda, tulis tes untuk menutupinya dan pastikan semua tes lulus. Pastikan komit Anda memanfaatkan pesan komitmen semantik dan bahwa pesan komit Anda mengikuti format komitmen konvensional. Kemudian buka permintaan tarik ke cabang utama.