Meteorito
Una aplicación meteorita lista para usar para Blaze + Flowrouter con un montón de funciones útiles, escritas en ES6
Repositorio de Github: https://github.com/fen747/meteor-boilerplate
por David Panart, también conocido como. Fen747
Versión 1.1.3
Ver cambios de versión
Siéntase libre de desembolsar este repositorio.
¡No olvides protagonizarlo también si lo encuentras genial!
Proyectos públicos que usan esta calderera:
Instalación
- Clone Este repositorio: Git Clone https://github.com/fen747/meteor-boilerplate
- Directorio de cambio: CD Meteor-Boilerplate
- Instalar dependencias de NPM: instalación de Meteor NPM
- Disfrutar !
- Ver History.md para más información
- Tema de foros de meteoritos
Doc
Paquetes (/.meteor/packages)
- Un montón de paquetes muy útiles están preinstalados o simplemente deben instalarse para instalarse en su aplicación.
Cambios a globals (/both/_globals.js)
Lodash
- Esta aplicación ya tiene Erasaur: paquete LOdash instalado y alias a '_' en lugar de subrayarse
- Se sabe que Lodash tiene la misma API que UndoScorejs, pero con mejores actuaciones y más características
Meteor.user ()
- Optimicé la función meteor.user ()
- Ahora se puede usar con una cadena como parámetro para alias un hallazgo en un usuario específico
- Además, puede pasar una variedad de cadenas para filtrar automáticamente los campos que necesita para reducir la cantidad de re-renderizadores inútiles / invalidación de Autorun
- De hecho, la función Meteor.User () predeterminada devuelve todo el documento del usuario, lo que significa que cualquier cálculo reactivo se invalidaría si algún campo del DOC cambia, lo que puede ser muy malo para la depuración y las actuaciones, especialmente en los móviles
- Úselo así:
- Meteor.user () // devuelve todo el documento de usuario actual
- Meteor.user ("auseridString") // Devuelve todo el documento de usuario especificado
- Meteor.user (['field1', 'campo2', ...]) // Devuelve el documento de usuario actual filtrado
- Meteor.user ("auseridString", ['campo1', 'campo2', ...]) // Devuelve el documento de usuario especificado filtrado
API ( /importaciones /API)
Rutas (/importaciones/API/rutas)
- config.js: establezca su rutas Hierachy y desencadenantes aquí. Use UpdateView en lugar de blazelayout.render para manejar sus animaciones de transición
- disparadores.js - Defina los desencadenantes aquí
- rutes.js - Defina tus rutas aquí
Colecciones (/importaciones/API/colecciones)
- Almacene sus colecciones globales en/importaciones/API/colecciones
- Almacene su cliente solo instancias minimongo en ./Client
- Guarde sus colecciones privadas en ./Server
Métodos (/importaciones/API/métodos)
- Almacene sus métodos optimistas en/importaciones/API/colecciones
- Almacene los métodos solo de su servidor en ./Server
Biblioteca ( /importaciones /biblioteca)
Contexto de la aplicación (/importaciones/biblioteca/appContext)
- Usar sesión o cualquier variable definida a nivel mundial no es algo bueno. Debería usar el AppContext como reactivido en lugar de la sesión
Aplicación Utilities (/Imports/library/apputility.js)
- GetEmailFromUID (UserId): use esto para obtener el primer correo de un usuario
- seguro (colección): use esto para negar automáticamente todos los permisos de escritura para el usuario en producción
- EndLoadingsCreen : ideal para eliminar la pantalla de carga que podría haber inyectado a través del paquete de inyección inicial de Arunoda
- PlayAnimation (AnimationName, ElementId, AnimationTime = 1000) - reproduce una animación en un elemento agregando una clase y eliminándola automáticamente después de 'AnimationTime' MS
Ayudantes de Blaze (/imports/library/blazehelpers.js)
- UserConected : use este ayudante de manillar para verificar si existe un ID de usuario
- LineBreakText : automáticamente tranform n de una cadena como elementos BR en el DOM. Usar con tirantes triples
- Urlify (STR): haga una cadena válida como URL. Ideal para pasar títulos de publicación en la URL, por ejemplo,
- MobileViewSize : verifique si el ancho de la ventana es menor que 601 (según las consultas de medios estándar de materializecss)
- getUsername (uid): obtenga el nombre de un usuario basado en su uid
- igual (a, b) - return true es ambos argumentos son iguales
- nequals (a, b) - return true es ambos argumentos no son iguales
- logContext (context = this): registre el contexto aprobado o este
- GetEmailFromUID (UserId): use esto para obtener el primer correo de un usuario
- IsCordova : return True si está en un dispositivo Cordova
Context Utilities (/imports/library/contextutilities.js)
- Un montón de funciones que devuelven una bandera de meteoritos y tomando una devolución de llamada opcional para ejecutar si el indicador está configurado en verdadero
- IsClient, Isserver, Iscordova, ISdeveloment, IsProduction
Manipulación DOM
- CreateMelement ({{Tag, classList, ID, DataSet, innerhtml}) - Use este paso como parámetro Un objeto que contiene los atributos que desea asignar al elemento creado (por favor, lea la firma de la función para obtener detalles)
Programación funcional (/imports/library/funcprog.js)
- Un montón de funciones y alias de ES6 para la programación funcional
- Realmente útil para mantener un código seco, fácil de leer y fácil de depurar
Utilities (/imports/library/utilidades.js)
- MobileViewSize : verifique si el ancho de la ventana es menor que 601 (según las consultas de medios estándar de materializecss)
- Urlify (STR): haga una cadena válida como URL. Ideal para pasar títulos de publicación en la URL, por ejemplo,
- TryReach (objeto, 'NestedAttribute1', 'NestedAttribute2', ...) - Una función muy útil para navegar en objetos anidados sin arrojar errores si se llama a un atributo en un valor no objeto
- buildRegExp (str) - un creador simple de regexp
- Benchmark (devolución de llamada): una función básica para verificar las actuaciones de una devolución de llamada
- Desbloqueo (conexión DDP): un alias para DDP This.unblock que no arroja un error cuando el método no existe
- ISValidImageUrl (URL): verifique si una URL apunta a una imagen
Módulos ( /importaciones /módulos)
Ventana reactiva
- Window.Size : un dict reactivo para hacer que el cambio de tamaño de la ventana sea reactivo
- Importado al cliente por defecto
Registro de DDP
- Use el objeto Global DDPLOGGGGG para activar y desactivar la escucha de los mensajes DDP en el cliente
- Importado al cliente por defecto
Smart Desconnect (/imports/modules/smartdisconnect.js)
- Mantener sesiones vivas en Meteor es bastante costoso. Use SmartDisconnect.start () para establecer meteor.status (). Status a `fuera de línea` cuando un usuario está inactivo por un tiempo determinado (predeterminado a 300s)
- SmartDisconnect.start () toma dos parámetros opcionales:
- Primero, un objeto como este: {TimeBeForedisconnect = 300, activateOnCordova = True}
- En segundo lugar, una devolución de llamada llamada justo antes de que ocurra una desconexión
- Créditos para mixmaxhq
Inicio ( /importaciones /inicio)
Cliente (/imports/startup/client.js)
- Agregue un método RemoLeLement (por ID) a la variable de documento
- Agregue una función de registro al alcance global. Útil para iniciar sesión y devolver una variable sin agregar nuevas líneas a sus archivos al depurar
- La devolución de llamada de inicio tiene muchas características de puñado para manejar pantallas de carga inyectadas en Cordova, diferir el enrutador init después de que se cargan los roles y siguiendo el estado de conexión en el AppContext
Interfaz de usuario ( /importaciones /ui)
Componentes (/importaciones/ui/componentes)
- Agregue sus componentes reutilizados aquí
Diseños (/importaciones/ui/diseños)
- Agregue sus plantillas de diseños aquí
Modales (/importaciones/ui/modales)
- Agregue sus plantillas de modales aquí
Páginas (/importaciones/ui/páginas)
- Agregue sus plantillas de páginas aquí
Hojas de estilo (/importaciones/ui/hojas de estilo)
- Agregue sus archivos CSS / SCSS / Sass / Less aquí