Caldeira de meteoros
Um aplicativo meteoro pronto para uso para Blaze + FlowRouter com um monte de funções úteis, escrito no ES6
Repositório do Github: https://github.com/fen747/meteor-boilerplate
Por David Panart, também conhecido como. Fen747
Versão 1.1.3
Veja as mudanças da versão
Sinta -se à vontade para bifurcar este repositório.
Não se esqueça de estrelar também se achar legal!
Projetos públicos usando este boilerplate:
Instalação
- Clone este repo: clone git https://github.com/fen747/meteor-boilerplate
- Diretório de alterações: CD Meteor-Boilerplate
- Instale as dependências do NPM: Instalação do meteor
- Aproveitar !
- Consulte History.md para mais informações
- Tópico dos fóruns de meteoros
Doc
Pacotes (/.meteor/packages)
- Um monte de pacotes muito úteis são pré-instalados ou apenas precisam ser não declarados para serem instalados em seu aplicativo
Alterações em Globals (/both/_globals.js)
Lodash
- Este aplicativo já tem Erasaur: Lodash Package instalado e alias para '_' em vez de sublinhar
- Lodash é conhecido por ter a mesma API que UndeScorejs, mas com melhores performances e mais recursos
Meteor.user ()
- Eu otimizei a função meteor.user ()
- Agora ele pode ser usado com uma string como parâmetro para alias um encontro em um usuário específico
- Além disso, você pode passar uma matriz de string para filtrar automaticamente os campos necessários para reduzir o número de renderizadores inúteis / invalidação de autorun
- De fato, a função padrão meteor.user () retorna todo o documento do usuário, o que significa que qualquer cálculo reativo seria invalidado se algum campo da mudança do documento, o que pode ser muito ruim para depuração e performances, especialmente em celulares
- Use assim:
- Meteor.user () // retorna todo o documento de usuário atual
- Meteor.user ("AUSERIDSTRING") // Retornar todo o documento de usuário especificado
- Meteor.user (['field1', 'field2', ...]) // retorna o documento de usuário atual filtrado
- Meteor.user ("auserIdString", ['field1', 'field2', ...]) // retorna o documento de usuário especificado filtrado
API ( /importações /API)
Rotas (/importações/api/rotas)
- config.js - Defina suas rotas Hierachy e gatilhos aqui. Use o UpdateView em vez do blazelayout.render para lidar com suas animações de transição
- gatilhos.js - Defina os gatilhos aqui
- rotas.js - Defina suas rotas aqui
Coleções (/importações/API/Coleções)
- Armazene suas coleções globais em/importações/API/coleções
- Armazene o seu cliente apenas instâncias minimongo em ./client
- Armazene suas coleções particulares em ./erver
Métodos (/importações/API/Métodos)
- Armazene seus métodos otimistas em/importações/API/coleções
- Armazene o seu servidor apenas métodos em ./erver
Biblioteca ( /importações /biblioteca)
Contexto do aplicativo (/Imports/Library/AppContext)
- Usar sessão ou qualquer variável definida globalmente não é uma coisa boa. Você prefere usar o AppContext como um reativido em vez de sessão
App Utilities (/imports/library/apputilities.js)
- getemailfromuid (userID) - use isso para obter o primeiro e -mail de um usuário
- Seguro (Coleção) - Use isso para negar automaticamente todas as permissões de escrita para o usuário na produção
- END -LOADINGINGScreen - Ótimo para remover a tela de carregamento que você pode ter injetado através do pacote de injeção inicial de Arunoda
- Playanimation (AnimationName, ElementId, AnimationTime = 1000) - Toque uma animação em um elemento adicionando uma classe e removendo -a automaticamente após 'animação' MS '
Blaze Helpers (/imports/library/blazehelpers.js)
- UserConnected - Use este ajudante de guidão para verificar se existe um usuário do usuário
- LineBreakText - Transformada automaticamente n de uma string como elementos BR no DOM. Use com aparelho triplo
- urlify (str) - torne uma sequência válida como um URL. Ótimo para aprovar títulos de postagens no URL, por exemplo
- MobileViewSize - Verifique se a largura da janela é menor que 601 (com base nas consultas de mídia padrão do materializeCSS)
- GetUserName (UID) - Obtenha o nome de um usuário com base em seu UID
- iguais (a, b) - retornar true é ambos os argumentos são iguais
- Nequals (A, B) - Retorno true é ambos os argumentos não são iguais
- LogContext (context = this) - registre o contexto passado ou este
- getemailfromuid (userID) - use isso para obter o primeiro e -mail de um usuário
- ISCORDOVA - Retorne verdadeiro se estiver em um dispositivo Cordova
Utilitários de contexto (/imports/library/contextutilities.js)
- Um monte de funções retornando uma bandeira de meteor
- IdClient, Isserver, Iscordova, Isdevelopment, Isproduction
Manipulação de dom
- CreatedOMelement ({tag, classlist, id, dados de dados, innerhtml}) - use essa passagem como parâmetro Um objeto que contém os atributos que você deseja atribuir ao elemento criado (por favor, leia a assinatura da função para obter detalhes)
Programação funcional (/imports/library/funcprog.js)
- Um monte de funções e aliases ES6 para programação funcional
- Realmente útil para manter um código seco, fácil de ler e fácil de depurar
Utilitários (/imports/library/utilities.js)
- MobileViewSize - Verifique se a largura da janela é menor que 601 (com base nas consultas de mídia padrão do materializeCSS)
- urlify (str) - torne uma sequência válida como um URL. Ótimo para aprovar títulos de postagens no URL, por exemplo
- Tryreach (objeto, 'Ntestattribute1', 'NestedAttribute2', ...) - Uma função muito útil para navegar em objetos aninhados sem arremessar erros se um atributo for chamado em um valor não -objeto
- BuildRegexp (STR) - Um simples construtor de regexp
- Benchmark (retorno de chamada) - Funções básicas para verificar o desempenho de um retorno de chamada
- desbloqueio (conexão DDP) - um alias para this.unblock do DDP que não apresenta um erro quando o método não existe
- isValidImageurl (URL) - Verifique se um URL aponta para uma imagem
Módulos ( /importações /módulos)
Janela reativa
- Window.size - um ditado reativo para tornar a redimensionamento a janela reativa
- Importado para o cliente por padrão
Loging DDP
- Use o objeto global DDPLOGGING para ativar e desativar as mensagens DDP no cliente
- Importado para o cliente por padrão
Smart Desconect (/imports/modules/smartdisconnect.js)
- Manter as sessões vivas em meteoros é bastante caro. Use smartDisconnect.start () para definir o meteor.status ().
- SmartDisconnect.start () leva dois parâmetros opcionais:
- Primeiro, um objeto como este: {TimeBeForedisconnect = 300, ActivateOncorDova = true}
- Segundo, um retorno de chamada chamado pouco antes de uma desconexão ocorrer
- Créditos para MixMaxhq
Startup ( /Imports /Startup)
Cliente (/imports/startup/client.js)
- Adicione um método RemowElement (por id) à variável de documento
- Adicione uma função de log ao escopo global. Útil para registrar e retornar uma variável sem adicionar novas linhas aos seus arquivos ao depurar
- O retorno de chamada inicial tem muitos recursos para lidar com telas de carregamento injetado em Cordova, adiando o roteador init após a carga de funções e seguindo o estado de conexão no AppContext
Interface do usuário ( /Imports /UI)
Componentes (/importações/ui/componentes)
- Adicione seus componentes reutilizados aqui
Layouts (/importações/ui/layouts)
- Adicione seus modelos de layouts aqui
Modais (/importações/ui/modals)
- Adicione seus modais modais aqui
Páginas (/importações/ui/páginas)
- Adicione seus modelos de páginas aqui
Sheets de Styles (/Imports/UI/Stylesheets)
- Adicione seus arquivos CSS / SCSS / SASS / LESS aqui