Meteor Boilerplate
Aplikasi siap pakai meteor untuk Blaze + FlowRouter dengan banyak fungsi yang berguna, ditulis di ES6
Repositori Github: https://github.com/fen747/meteor-boilerplate
Oleh David Panart alias. Fen747
Versi 1.1.3
Lihat Perubahan Versi
Jangan ragu untuk membayar repositori ini.
Jangan lupa untuk membintangi juga jika Anda merasa keren!
Proyek Publik Menggunakan Boilerplate Ini:
Instalasi
- Klon repo ini: git klon https://github.com/fen747/meteor-boilerplate
- Ubah Direktori: CD Meteor-Boilerplate
- Instal NPM Dependencies: Meteor NPM Instal
- Menikmati !
- Lihat history.md untuk informasi lebih lanjut
- Topik Forum Meteor
Dokter
Paket (/.meteor/packages)
- Sekelompok paket yang sangat berguna sudah diinstal sebelumnya atau hanya perlu tidak dikomentasikan untuk diinstal di aplikasi Anda
Perubahan pada global (/both/_globals.js)
Lodash
- Aplikasi ini sudah memiliki Erasaur: Paket Lodash diinstal dan alias ke '_' bukannya garis bawah
- Lodash dikenal memiliki API yang sama dengan undescoreJs, tetapi dengan kinerja yang lebih baik, dan lebih banyak fitur
Meteor.user ()
- Saya mengoptimalkan fungsi meteor.user ()
- Sekarang dapat digunakan dengan string sebagai parameter ke alias a findOne pada pengguna tertentu
- Selain itu, Anda dapat melewati array string untuk secara otomatis memfilter bidang yang Anda butuhkan untuk mengurangi jumlah re-render / Autorun Invalidation yang tidak berguna
- Memang, fungsi Meteor.User () default mengembalikan seluruh dokumen pengguna, yang berarti bahwa perhitungan reaktif apa pun akan dibatalkan jika bidang perubahan DOC, yang bisa sangat buruk untuk debugging dan kinerja, khususnya pada ponsel
- Gunakan seperti ini:
- Meteor.user () // kembalikan seluruh dokumen pengguna saat ini
- Meteor.user ("auseridstring") // mengembalikan seluruh dokumen pengguna yang ditentukan
- Meteor.user (['field1', 'field2', ...]) // Kembalikan dokumen pengguna saat ini yang difilter
- Meteor.user ("auseridstring", ['field1', 'field2', ...]) // kembalikan dokumen pengguna yang ditentukan difilter
API ( /Impor /API)
Rute (/impor/API/rute)
- config.js - atur rute Anda Hierachy dan pemicu di sini. Gunakan UpdateView alih -alih blazelayout.render untuk menangani animasi transisi Anda
- Triggers.js - Tentukan pemicu di sini
- Routes.js - Tentukan rute Anda di sini
Koleksi (/Impor/API/Koleksi)
- Simpan koleksi global Anda di/impor/API/koleksi
- Simpan klien Anda hanya instance minimongo di ./client
- Simpan koleksi pribadi Anda di ./server
Metode (/impor/API/metode)
- Simpan metode optimis Anda di/impor/API/koleksi
- Menyimpan metode server Anda di ./server
Perpustakaan ( /Impor /Perpustakaan)
Konteks Aplikasi (/Impor/Perpustakaan/AppContext)
- Menggunakan sesi atau variabel yang ditentukan secara global bukanlah hal yang baik. Anda lebih suka menggunakan APPContext sebagai reactivedict daripada sesi
Utilitas aplikasi (/imports/library/apputilities.js)
- getemailfromuid (userid) - Gunakan ini untuk mendapatkan email pertama dari pengguna
- Secure (Collection) - Gunakan ini untuk secara otomatis menolak semua izin penulisan untuk pengguna dalam produksi
- Endloadingscreen - bagus untuk menghapus layar pemuatan yang bisa Anda suntikan melalui paket suntikan awal Arunoda
- Playanimation (AnimationName, ElementId, AnimationTime = 1000) - Mainkan animasi pada elemen dengan menambahkannya kelas dan menghapusnya secara otomatis setelah 'AnimationTime' MS
Blaze Helters (/imports/library/blazehelpers.js)
- UserConnected - Gunakan pembantu stang ini untuk memeriksa apakah ada userid
- LinebreakText - secara otomatis tranform n dari string sebagai elemen BR di DOM. Gunakan dengan kawat gigi tiga
- Urlify (str) - Buat string valid sebagai URL. Bagus untuk melewati judul posting di URL misalnya
- MobileViewSize - Periksa apakah lebar jendela lebih rendah dari 601 (berdasarkan kueri media standar materizeCSS)
- getusername (uid) - Dapatkan nama pengguna berdasarkan uid -nya
- Equals (a, b) - return true adalah kedua argumen itu sama
- Nequals (a, b) - return true adalah kedua argumen tidak setara
- LogContext (Context = This) - Masuk Konteks Lulus atau Ini
- getemailfromuid (userid) - Gunakan ini untuk mendapatkan email pertama dari pengguna
- iscordova - return true jika ada di perangkat cordova
Utilitas konteks (/imports/library/contextututilities.js)
- Sekelompok fungsi yang mengembalikan bendera meteor dan mengambil panggilan balik optionnal untuk dieksekusi jika bendera diatur ke true
- ISCLIENT, penerbit, Iscordova, ISDevelopment, Isproduction
Manipulasi dom
- CreateDomElement ({Tag, ClassList, ID, Dataset, InnerHTML}) - Gunakan passing ini sebagai parameter objek yang berisi atribut yang ingin Anda tetapkan ke elemen yang dibuat (silakan, baca tanda tangan fungsi untuk detail)
Pemrograman Fungsional (/Imports/library/funcprog.js)
- Banyak fungsi ES6 dan alias untuk pemrograman fungsional
- Sangat berguna untuk menjaga kode yang kering, mudah dibaca dan mudah debug
Utilitas (/imports/library/utilities.js)
- MobileViewSize - Periksa apakah lebar jendela lebih rendah dari 601 (berdasarkan kueri media standar materizeCSS)
- Urlify (str) - Buat string valid sebagai URL. Bagus untuk melewati judul posting di URL misalnya
- TryReach (objek, 'NestedAttribute1', 'NestedAttribute2', ...) - Fungsi yang sangat berguna untuk beravigasi di objek bersarang tanpa melempar kesalahan jika atribut dipanggil pada nilai non -objek
- Buildregexp (str) - Pembangun Regexp Sederhana
- Benchmark (Callback) - Fungsi dasar untuk memeriksa kinerja panggilan balik
- Unblock (koneksi DDP) - Alias ke DDP this.unblock yang tidak melempar kesalahan saat metode tidak ada
- isValidImageUrl (URL) - Periksa apakah URL menunjuk ke gambar
Modul ( /impor /modul)
Jendela reaktif
- Window.Size - dikt reaktif untuk membuat pengubah ukuran jendela reaktif
- Diimpor ke klien secara default
Pencatatan DDP
- Gunakan objek global DDPlogging untuk mengaktifkan dan mematikan mendengarkan pesan DDP pada klien
- Diimpor ke klien secara default
Smart Disconnect (/imports/modules/smartdisconnect.js)
- Mempertahankan sesi yang hidup di Meteor cukup mahal. Gunakan SmartDisconnect.start () untuk mengatur meteor.status (). Status ke `offline` Ketika pengguna tidak aktif untuk waktu tertentu (default ke 300s)
- SmartDisconnect.start () mengambil dua parameter opsional:
- Pertama, objek seperti ini: {TimeBeforedIsconnect = 300, ActivateOncordova = true}
- Kedua, panggilan balik dipanggil tepat sebelum dekoneksi terjadi
- Kredit ke Mixmaxhq
Startup ( /impor /startup)
Klien (/imports/startup/client.js)
- Tambahkan metode penghapusan (dengan id) ke variabel dokumen
- Tambahkan fungsi log ke ruang lingkup global. Berguna untuk mencatat dan mengembalikan variabel tanpa menambahkan baris baru ke file Anda saat debugging
- Callback startup memiliki banyak fitur segenggam untuk menangani layar pemuatan yang disuntikkan di Cordova, menunda init router setelah peran dimuat, dan mengikuti status koneksi di appContext
Antarmuka pengguna ( /impor /UI)
Komponen (/impor/UI/komponen)
- Tambahkan komponen yang digunakan kembali di sini
Tata letak (/impor/UI/tata letak)
- Tambahkan template tata letak Anda di sini
Modal (/impor/UI/modal)
- Tambahkan Template Modal Anda Di Sini
Halaman (/impor/UI/halaman)
- Tambahkan templat halaman Anda di sini
Stylesheets (/Impor/UI/Stylesheets)
- Tambahkan file CSS / SCSS / SASS / Less Anda di sini