Um kit inicial de aplicativo de página única altamente opinativo construído sobre Vue.js e Laravel.
Este pacote contém dois projetos separados para atuar como ponto de partida para um aplicativo de página única: um projeto Vue.js (criado com vue-cli + modelo webpack) e um projeto Laravel 5.3.
Eles não são apenas projetos recém-criados, mas um aplicativo totalmente funcional que pode ser modificado e expandido para se tornar seu próprio aplicativo.
A demonstração ao vivo pode ser encontrada em https://spa.codecasts.rocks/.
Certifique-se de ter instalado o Node e o Yarn (versões mais recentes), bem como o PHP 7 e o MySQL .
Esses comandos irão baixar o repositório e prepará-lo para você.
git clone --depth 1 -b master [email protected]:codecasts/spa-starter-kit.git
cd spa-starter-kit
rm -rf ./.git/
git init
git add --all
git commit -m "init"
cd client && yarn && yarn run dev
.composer install
para instalar o Laravel e pacotes de terceirostouch database/database.sqlite
para criar um arquivo de banco de dados vaziocp .env.example .env
para configurar a instalaçãophp artisan key:generate
para gerar uma chave exclusiva para o projetophp artisan jwt:secret
para gerar uma chave exclusiva para o projetophp artisan migrate
para criar todas as tabelasphp artisan db:seed
para preencher as tabelas com dados falsosphp artisan serve
para servir aplicação em localhost:8000 Navegue até a pasta webservice e execute o script de teste do compositor
$ composer test
O tratamento de erros é feito globalmente usando os interceptadores do Axios. Mas você ainda pode .catch() erros nos componentes para executar ações relacionadas a esse escopo. Consulte /client/src/plugins/http.js;
Da mesma forma que as mensagens de erro residem em um único componente (/client/src/modules/general/alerts.vue) e sua visibilidade é controlada por uma propriedade Vuex. Portanto, para mostrar/ocultar mensagens, basta despachar uma ação Vuex de dentro de qualquer componente;
O spinner exibido durante as solicitações do servidor (veja o canto superior direito próximo à identificação do usuário) também é controlado por uma propriedade Vuex. O procedimento para mostrar/ocultar é o mesmo descrito no item 2 acima;
rotas e módulos Vuex ficam próximos aos módulos para os quais trabalham. Sempre procure rotas.js e store.js dentro de um diretório de módulo. Veja /client/src/modules/categories;
Importante : O projeto Laravel encontrado no diretório webservice foi modificado além de adicionar rotas e controladores. Por exemplo: o webservice/app/Exceptions/Handler.php foi modificado de sua versão original para retornar todas as exceções ao cliente, não apenas HttpExceptions. Outras mudanças também estão em vigor. Portanto nossa recomendação é sempre utilizar este projeto para construir o seu próprio, ao invés de copiar controladores e rotas para um novo projeto.
git checkout -b feature/my-new-feature
git commit -am 'Add some feature'
git push origin feature/my-new-feature
Fábio Vedovelli e colaboradores dedicados.
Licenciado sob a licença MIT.