Quasar Skeleton
Skeleton SourceLive Demo
Português
Português
  • Instalação
  • Começando com o Skeleton
    • Iniciando o domínio
    • Configurando o domínio
    • Preparando o acesso à API
    • Definindo o schema
    • Criando as views
    • Adicionando as rotas
    • Trabalhando com as telas
    • Próximos passos
  • Conceitos
  • Estrutura
    • Modules
    • Settings [project]
    • Domains
    • Settings File
    • Services
    • Schema
    • Scopes e Positions
    • Views
    • Routes
  • Customização
    • Component
    • View
  • Por Debaixo do Capô
  • Como Contribuir
Powered by GitBook
On this page
  • Uso do AppRouter
  • Injeção do Router
  • Auth RouteFile
  • Dashboard RouteFile
  • Arquivos de Rotas
  • Criando Rotas de CRUD

Was this helpful?

  1. Estrutura

Routes

Vamos entender como é feita a composição de rotas para o VueRouter no Skeleton, já que a mesma é feita de forma diferente do padrão que se costuma ver em projetos Quasar ou Vue

PreviousViewsNextCustomização

Last updated 5 years ago

Was this helpful?

Em src/router/index.js fica a criação do roteador da aplicação. Há alguns detalhes um pouco diferentes do padrão que o template do entrega. Vamos ver um sobre essas diferenças à seguir.

Uso do AppRouter

Logo do começo do index.js será possível ver que há um import para um arquivo chamado AppRouter. Isto será visto em um trecho parecido com o trecho abaixo.

Este arquivo é uma classe que estende o VueRouter permitindo modificar, aprimorar e adicionar comportamentos ao roteador.

Injeção do Router

Além de configurar dois middleware base também há a configuração das rotas. Esta configuração é feita de uma forma diferente, ao invés de "puxar" as rotas e adicioná-las como argumento na construção do router são importadas funções (também chamadas de RouteFile) que recebem o $router como argumento para que cada módulo seja responsável por adicionar suas rotas.

Esta mudança permite que os módulos tenham mais independência sobre as configurações que podem fazer no projeto. Logo, ao invés de ter apenas um beforeEach, por exemplo, teremos vários middleware deste tipo distribuídos pelo projeto.

Auth RouteFile

Dashboard RouteFile

Alocado em src/modules/Dashboard/router/routeFile.js a composição de rotas do Dashboard será bem mais extensa que a do Auth. Este module irá abrigar todo "painel de controle", por isso ao invés de definir todas as rotas nele mesmo são feitos imports de outros arquivos de rota. As demais rotas ficam junto do domínio do Schema e devem exportar sempre arrays. Para poder acessar os recursos que serão criados será preciso registar as rotas que criarmos nesse arquivo, por isso ele será lembrado mais pra frente.

Arquivos de Rotas

Um arquivo de rotas precisa simplesmente exportar uma função que retorne um array de rotas como a imagem abaixo.

Criando Rotas de CRUD

Quando se está criando uma quantidade grande de telas é comum repetir diversas vezes vários trechos e configurações. Para acelerar a criação é possível usar alguns helpers para a criação de rotas para CRUD, como pode ser visto no exemplo abaixo.

O RouteFile do module Auth fica em src/modules/Auth/router/routeFile.js e é bem simples, tendo apenas uma rota. Como falado à pouco ele recebe o router como parâmetro e utiliza o método addRoutes para adicionar as rotas. No caso estão sendo usados helpers route e group para criar as rotas. Estas funções constroem objetos compatíveis com a que são as estruturas tradicionais de rotas.

Este trecho acima cria um conjunto de 5 rotas devidamente configuradas. Para utilizar alguns recursos que estão pré-configurados no projeto é preciso configurar alguns detalhes no meta das rotas. A função crud já resolve isso e introduz o scope e o namespace no das rotas, permitindo que sejam passadas configurações adicionais. O exemplo a seguir é um trecho do arquivo .

Trecho da função crud de src/app/Util/routing
RouteConfig
meta
src/app/Util/routing.js
Quasar