Plaque de météore
Une application de météore prêt à l'emploi pour Blaze + FlowRouter avec un tas de fonctions utiles, écrit dans ES6
Référentiel GitHub: https://github.com/fen747/meteor-boilerplate
par David Panart aka. FEN747
Version 1.1.3
Voir les modifications de la version
N'hésitez pas à alimenter ce référentiel.
N'oubliez pas de le jouer aussi si vous le trouvez cool!
Projets publics utilisant ce passe-partout:
Installation
- Clone This Repo: Git Clone https://github.com/fen747/meteor-boilerplate
- Répertoire de modification: CD Meteor-Boilerplate
- Installation des dépendances NPM: Installation de MNP de Meteor
- Apprécier !
- Voir History.md pour plus d'informations
- Sujet des forums Meteor
Doc
Packages (/.meteor/packages)
- Un tas de packages très utiles sont soit préinstallés, soit il faut simplement être non émis pour être installé dans votre application
Modifications aux Globals (/ both/_globals.js)
Loger
- Cette application a déjà un package Erasaur: Lodash installé et aliasé à «_» au lieu de souligner
- Lodash est connu pour avoir la même API que Undescorejs, mais avec de meilleures performances et plus de fonctionnalités
Meteor.user ()
- J'ai optimisé la fonction Meteor.User ()
- Il peut désormais être utilisé avec une chaîne comme paramètre pour alias une findone sur un utilisateur spécifique
- De plus, vous pouvez passer un tableau de chaîne pour filtrer automatiquement les champs dont vous avez besoin afin de réduire le nombre de redesseurs inutiles / invalidation d'autorun
- En effet, la fonction Meteor.User () par défaut renvoie l'ensemble du document utilisateur, ce qui signifie que tout calcul réactif serait invalidé si un champ de Doc, qui peut être très mauvais pour le débogage et les performances, spécialement sur les mobiles
- Utilisez-le comme ceci:
- Meteor.user () // renvoie tout le document utilisateur actuel
- Meteor.User ("AuSerIdString") // Renvoie l'intégralité de l'utilisateur spécifié Doc
- Meteor.user (['field1', 'field2', ...]) // renvoie le document utilisateur actuel filtré
- Meteor.User ("AuSerIdString", ['Field1', 'Field2', ...]) // Renvoie le Doc utilisateur spécifié filtré
API (/ importations / API)
Itinéraires (/ importations / API / itinéraires)
- config.js - Définissez vos routes Hierachy et déclenche ici. Utilisez UpdateView au lieu de BLAZELAYOut.Render pour gérer vos animations de transition
- TRIGNERS.JS - Définissez les déclencheurs ici
- Routes.js - Définissez vos itinéraires ici
Collections (/ importations / API / Collections)
- Stockez vos collections mondiales à / importations / API / Collections
- Stockez votre client seulement Minimongo Instances dans ./Client
- Stockez vos collections privées dans ./Server
Méthodes (/ importations / API / méthodes)
- Stockez vos méthodes optimistes à / importations / API / Collections
- Stockez vos méthodes de serveur uniquement sur ./Server
Bibliothèque (/ importations / bibliothèque)
Context de l'App (/ Imports / Library / AppContext)
- L'utilisation de la session ou de toute variable définie à l'échelle mondiale n'est pas une bonne chose. Vous devriez plutôt utiliser l'appontex
App Utilities (/imports/library/apputiles.js)
- getemailFromuid (userId) - Utilisez-le pour obtenir le premier courrier d'un utilisateur
- Secure (Collection) - Utilisez-le pour nier automatiquement toutes les autorisations d'écriture pour l'utilisateur en production
- EndloadingScreen - Idéal pour supprimer l'écran de chargement que vous auriez pu injecter via le package d'injects initial d'Arunoda
- playAnimation (AnimationName, ElementId, AnimationTime = 1000) - Jouez une animation sur un élément en l'ajoutant une classe et en la supprimant automatiquement après `` AnimationTime '' MS
Blaze Aiders (/imports/library/blazehelpers.js)
- Userconned - Utilisez cet assistant de guidon pour vérifier si un utilisateur existe
- LinebreakText - Tranform n d'une chaîne en tant qu'éléments BR dans le dom. Utiliser avec Triple Braces
- Urlify (Str) - Faites une chaîne valide en tant qu'URL. Idéal pour passer des titres de poste dans l'URL par exemple
- MobileViewSize - Vérifiez si la largeur de la fenêtre est inférieure à 601 (sur la base des requêtes multimédias standard de MaterimeSecSS)
- getUsername (UID) - Obtenez le nom d'un utilisateur en fonction de son UID
- égaux (a, b) - le rendement vrai est les deux arguments sont égaux
- Les nequals (a, b) - return true est les deux arguments ne sont pas égaux
- logContext (context = this) - enregistrer le contexte passé ou ceci
- getemailFromuid (userId) - Utilisez-le pour obtenir le premier courrier d'un utilisateur
- ISCORDOVA - Retour True Si se trouve sur un appareil Cordova
Utilitaires contextuels (/imports/library/contextUtibles.js)
- Un tas de fonctions renvoyant un indicateur de météore et prenant un rappel OptionNal à exécuter si l'indicateur est défini sur true
- Isclient, Isserver, Iscordova, Isdéveloppement, isproduction
Manipulation de Dom
- CreatedoMelement ({tag, classlist, id, ensemble de données, innerhtml}) - Utilisez ce passage comme paramètre Un objet contenant les attributs que vous souhaitez attribuer à l'élément créé (veuillez lire la signature de la fonction pour plus de détails)
Programmation fonctionnelle (/imports/library/funcprog.js)
- Un tas de fonctions ES6 et d'alias pour la programmation fonctionnelle
- Vraiment utile pour garder un code sec, facile à lire et facile à déboguer
Utilitaires (/imports/library/utibles.js)
- MobileViewSize - Vérifiez si la largeur de la fenêtre est inférieure à 601 (sur la base des requêtes multimédias standard de MaterimeSecSS)
- Urlify (Str) - Faites une chaîne valide en tant qu'URL. Idéal pour passer des titres de poste dans l'URL par exemple
- TryReach (Object, 'Needattribute1', 'Needattribute2', ...) - Une fonction très utile pour naviguer dans des objets imbriqués sans lancer des erreurs si un attribut est appelé sur une valeur non objet
- BuildRegexp (Str) - Un simple constructeur regexp
- Benchmark (rappel) - Une fonction de base pour vérifier les performances d'un rappel
- Unlock (connexion DDP) - un alias à ceci DDP qui ne lance pas d'erreur lorsque la méthode n'existe pas
- IsvalidImageUrl (URL) - Vérifiez si une URL pointe vers une image
Modules (/ importations / modules)
Fenêtre réactive
- Window.Size - un dict réactif pour rendre le redimensionnement de la fenêtre réactive
- Importé au client par défaut
Journalisation DDP
- Utilisez l'objet global DDPlogging pour activer et désactiver l'écoute des messages DDP sur le client
- Importé au client par défaut
Smart Disconnect (/imports/modules/smartdisconnect.js)
- Le maintien de sessions vivant en météore est assez coûteux. Utilisez SmartDisconnect.Start () pour définir Meteor.Status (). Statut à «Offline» lorsqu'un utilisateur est inactif pendant un certain temps (par défaut à 300S)
- SmartDisconnect.Start () prend deux paramètres facultatifs:
- Tout d'abord, un objet comme celui-ci: {TimeBeForedisConnect = 300, activateOnCordova = true}
- Deuxièmement, un rappel appelé juste avant une déconnexion se produit
- Crédits à mixmaxhq
Startup (/ importations / startup)
Client (/imports/startup/client.js)
- Ajouter une méthode de devureelement (par id) à la variable de document
- Ajoutez une fonction de journal à la portée globale. Utile pour enregistrer et renvoyer une variable sans ajouter de nouvelles lignes à vos fichiers lors de la débogage
- Le rappel de démarrage dispose de nombreuses fonctionnalités de poignée pour gérer les écrans de chargement injectés sur Cordova, le redémarrage du routeur init une fois les rôles chargés et suivant l'état de connexion dans l'apponte
Interface utilisateur (/ importations / ui)
Composants (/ importations / ui / composants)
- Ajoutez vos composants réutilisés ici
Dispositions (/ importations / ui / dispositions)
- Ajoutez vos modèles de disposition ici
Modals (/ importations / ui / modals)
- Ajoutez vos modèles de modaux ici
Pages (/ importations / ui / pages)
- Ajoutez vos modèles de pages ici
Styleshets (/ importations / ui / styleshets)
- Ajoutez vos fichiers CSS / SCSS / SASS / moins