Meteor -Kesselplatte
Eine Meteor-App-App für Blaze + Flowrouter mit einer Reihe nützlicher Funktionen, die in ES6 geschrieben wurde
Github Repository: https://github.com/fen747/meteor-boilerplate
von David Panart alias. Fen747
Version 1.1.3
Siehe Versionsänderungen
Fühlen Sie sich frei, dieses Repository zu geben.
Vergessen Sie nicht, es auch zu spielen, wenn Sie es cool finden!
Öffentliche Projekte mit dieser Kesselplatte:
Installation
- Klon dieses Repo: Git Clone https://github.com/fen747/meteor-boilerplate
- Verzeichnis ändern: CD Meteor-Boilerplate
- Installieren Sie NPM -Abhängigkeiten: Meteor NPM Installation
- Genießen !
- Weitere Informationen finden Sie unter history.md
- Meteor -Foren Thema
Dokument
Pakete (/.meteor/packages)
- Eine Reihe sehr nützlicher Pakete sind entweder vorinstalliert oder müssen nur unkontrolliert werden, um in Ihrer App installiert zu werden
Änderungen an Globalen (/both/_globals.js)
Lodash
- Diese App hat bereits Erasaur: Lodash -Paket installiert und alias von '_' anstelle von Unterstrichen
- Es ist bekannt
Meor.user ()
- Ich habe die Funktion meteor.user () optimiert
- Es kann nun mit einem String als Parameter verwendet werden, um einen Findone auf einem bestimmten Benutzer zu veranlassen
- Darüber hinaus können Sie eine Reihe von Zeichenfolge übergeben, um die benötigten Felder automatisch zu filtern, um die Anzahl der nutzlosen Neulänger / Autorun-Invalidierung zu verringern
- In der Tat gibt die Standard -Meteor.User () -Funktion das gesamte Benutzerdokument zurück, was bedeutet, dass jede reaktive Berechnung ungültig wird, wenn ein Feld der DOC -Änderung sehr schlecht sein kann, was für das Debuggen und die Aufführungen, insbesondere bei Mobiltelefonen
- Verwenden Sie es so:
- Meor.user () // den gesamten aktuellen Benutzerdokument zurückgeben
- Meor.user ("auseridstring") // das gesamte angegebene Benutzerdokument zurückgeben
- Meor.user (['field1', 'field2', ...]) // Rückgabe des gefilterten aktuellen Benutzerdokuments
- Meor.user ("auseridstring", ['field1', 'field2', ...]) // Geben Sie den gefilterten angegebenen Benutzerdokument zurück
API ( /Imports /API)
Routen (/Importe/API/Routen)
- config.js - Stellen Sie Ihre Routen hierachy und Auslöser hier ein. Verwenden Sie UpdateView anstelle von Blazelayout.render, um Ihre Übergangsanimationen zu verarbeiten
- Trigger.js - Definieren Sie die Auslöser hier
- Routes.js - Definieren Sie Ihre Routen hier
Sammlungen (/Importe/API/Sammlungen)
- Speichern Sie Ihre globalen Sammlungen bei/Imports/API/Sammlungen
- Speichern Sie Ihren Kunden nur Minimongo -Instanzen in ./Client
- Bewahren Sie Ihre Privatsammlungen in ./Server auf
Methoden (/Importe/API/Methoden)
- Speichern Sie Ihre optimistischen Methoden bei/Importe/API/Sammlungen
- Speichern Sie Ihre Server -Methoden nur unter ./Server
Bibliothek ( /Imports /Bibliothek)
App -Kontext (/Imports/Bibliothek/AppContext)
- Die Verwendung von Sitzungen oder einer global definierten Variablen ist keine gute Sache. Sie sollten den AppContext lieber als reagierte statt der Sitzung verwenden
App -Dienstprogramme (/imports/library/Apputilities.js)
- GetemailFromUID (userID) - Verwenden Sie diese, um die erste E -Mail von einem Benutzer zu erhalten
- Secure (Sammlung) - Verwenden Sie dies, um alle Schreibberechtigungen für den Benutzer in der Produktion automatisch zu verweigern
- EndloadingScreen - Großartig zum Entfernen des Ladebildschirms Sie hätten über das erste Injektpaket von Arunoda injiziert werden können
- PlayAnimation (AnimationName, ElementId, Animationtime = 1000) - Spielen Sie eine Animation in einem Element, indem Sie sie eine Klasse hinzufügen und sie automatisch nach der 'Animationtime' MS entfernen
Blaze Helpers (/imports/library/BlaPhelpers.js)
- UserConnected - Verwenden Sie diesen Lenkerhelfer, um zu überprüfen, ob eine BenutzerID vorhanden ist
- lineBreaktext - automatisch tranForm n einer Zeichenfolge als BR -Elemente im DOM. Verwendung mit dreifachen Zahnspangen
- URLIFY (STR) - Machen Sie eine Zeichenfolge als URL gültig. Ideal für die Übergabe von Post -Titeln in der URL zum Beispiel
- MobileViewSize - Überprüfen Sie, ob die Fensterbreite kleiner als 601 ist (basierend auf den Standard -Medienabfragen von Materializecss)
- GetUSERNAME (UID) - Holen Sie sich den Namen eines Benutzers basierend auf seiner UID
- Equals (a, b) - Return true ist, dass beide Argumente gleich sind
- Nequals (a, b) - Return True sind beide Argumente sind nicht gleich
- Logcontext (context = this) - Logieren Sie den oder diesen übergebenen Kontext
- GetemailFromUID (userID) - Verwenden Sie diese, um die erste E -Mail von einem Benutzer zu erhalten
- Iscordova - RECHT TRUE, wenn sich auf einem Cordova -Gerät befindet
Kontext -Dienstprogramme (/imports/library/contextutilities.js)
- Eine Reihe von Funktionen, die ein Meteor -Flag zurückgeben und einen optionalen Rückruf zum Ausführen nehmen, wenn das Flag auf true gesetzt ist
- Isclient, Isserver, Iscordova, Isdevelopment, IsProduction
DOM Manipulation
- CreatedOmelement ({Tag, Classlist, ID, Datensatz, Innerhtml}) - Verwenden Sie dieses Bestehen als Parameter, ein Objekt, das die Attribute enthält, die Sie dem erstellten Element zuweisen möchten (bitte lesen Sie die Funktionssignatur für Details)
Funktionelle Programmierung (/imports/library/funcprog.js)
- Eine Reihe von ES6 -Funktionen und Aliase für die funktionelle Programmierung
- Wirklich nützlich, um ein trockenes, leicht zu lesen und leicht zu debuggener Code zu behalten
Dienstprogramme (/imports/library/utilities.js)
- MobileViewSize - Überprüfen Sie, ob die Fensterbreite kleiner als 601 ist (basierend auf den Standard -Medienabfragen von Materializecss)
- URLIFY (STR) - Machen Sie eine Zeichenfolge als URL gültig. Ideal für die Übergabe von Post -Titeln in der URL zum Beispiel
- Tryreach (Objekt, 'nestedattribute1', 'nestedAttribute2', ...) - Eine sehr nützliche Funktion, die in verschachtelten Objekten navigieren kann, ohne Fehler zu werfen, wenn ein Attribut auf einen Nicht -Objekt -Wert aufgerufen wird
- BuildRegExp (STR) - Ein einfacher Regexp -Builder
- Benchmark (CALLBACK) - Eine grundlegende Funktionen, um die Leistungen eines Rückrufs zu überprüfen
- Entblocker (DDP -Verbindung) - Ein Alias zu DDPs This.unblock, der keinen Fehler aufwirft, wenn die Methode nicht vorhanden ist
- Isvalidimageurl (URL) - Überprüfen Sie, ob eine URL auf ein Bild zeigt
Module ( /Importe /Module)
Reaktives Fenster
- Fenster.SIZE - Ein reaktiv
- Standardmäßig zum Client importiert
DDP -Protokollierung
- Verwenden Sie das globale DDPlogging -Objekt, um das Anhören von DDP -Nachrichten auf dem Client ein- und auszuschalten
- Standardmäßig zum Client importiert
Smart Disconnect (/imports/modules/smartDisconnect.js)
- Die Aufrechterhaltung der lebendigen Sitzungen im Meteor ist ziemlich kostspielig. Verwenden Sie SmartDisconnect.start () , um meteor.status () zu "offline" zu setzen, wenn ein Benutzer für eine bestimmte Zeit inaktiv ist (Standard auf 300s).
- SmartDisconnect.start () nimmt zwei optionale Parameter ein:
- Erstens ein Objekt wie dieses: {TimeBeForedisconnect = 300, ActivateOncordova = true}
- Zweitens ein Rückruf, der kurz vor einer Entschlachtung auftritt
- Credits zu MixmaxHQ
Startup ( /Imports /Start)
Client (/imports/startup/client.js)
- Fügen Sie der Dokumentvariablen eine Methode zur Entfernungselement (per ID) hinzu
- Fügen Sie dem globalen Bereich eine Protokollfunktion hinzu. Nützlich, um eine Variable zu protokollieren und beim Debuggen neue Zeilen zu Ihren Dateien hinzuzufügen
- Der Start -Callback verfügt über viele Handvoll -Funktionen, um injizierte Ladebildschirme auf Cordova zu verarbeiten, den Router -Init nach dem Laden zu verschieben und dem Verbindungsstatus im AppContext zu folgen
Benutzeroberfläche ( /Imports /UI)
Komponenten (/Imports/UI/Komponenten)
- Fügen Sie hier Ihre wiederverwendeten Komponenten hinzu
Layouts (/Importe/UI/Layouts)
- Fügen Sie hier Ihre Layouts -Vorlagen hinzu
Modale (/Imports/UI/Modal)
- Fügen Sie hier Ihre Modalvorlagen hinzu
Seiten (/Importe/UI/Seiten)
- Fügen Sie hier Ihre Seitenvorlagen hinzu
Stylesheets (/Imports/UI/Stylesheets)
- Fügen Sie hier Ihre CSS / SCSS / SASS / LEW -Dateien hinzu