Ein äußerst eigenwilliges Starterkit für Einzelseitenanwendungen, das auf Vue.js und Laravel aufbaut.
Dieses Paket enthält zwei separate Projekte, die als Ausgangspunkt für eine Single Page Application dienen: ein Vue.js-Projekt (erstellt mit vue-cli + Webpack-Vorlage) und ein Laravel 5.3-Projekt.
Es handelt sich nicht nur um frisch erstellte Projekte, sondern um eine voll funktionsfähige Anwendung, die geändert und erweitert werden kann, um Ihre eigene Anwendung zu werden.
Die Live-Demo finden Sie unter https://spa.codecasts.rocks/.
Stellen Sie sicher, dass Sie Node und Yarn (neueste Versionen) sowie PHP 7 und MySQL installiert haben.
Mit diesen Befehlen wird das Repository heruntergeladen und für Sie vorbereitet.
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
um Laravel- und Drittanbieterpakete zu installierentouch database/database.sqlite
um eine leere Datenbankdatei zu erstellencp .env.example .env
um die Installation zu konfigurierenphp artisan key:generate
um einen eindeutigen Schlüssel für das Projekt zu generierenphp artisan jwt:secret
um einen eindeutigen Schlüssel für das Projekt zu generierenphp artisan migrate
um alle Tabellen zu erstellenphp artisan db:seed
um die Tabellen mit gefälschten Daten zu füllenphp artisan serve
dazu, die Anwendung auf localhost:8000 bereitzustellen Navigieren Sie zum Webservice- Ordner und führen Sie das Composer-Testskript aus
$ composer test
Die Fehlerbehandlung erfolgt global durch den Einsatz der Interceptoren von Axios. Sie können jedoch weiterhin .catch()-Fehler innerhalb von Komponenten ausführen, um Aktionen im Zusammenhang mit diesem Bereich auszuführen. Siehe /client/src/plugins/http.js;
Ebenso befinden sich Fehlermeldungen in einer einzigen Komponente (/client/src/modules/general/alerts.vue) und ihre Sichtbarkeit wird durch eine Vuex-Eigenschaft gesteuert. Um Nachrichten ein-/auszublenden, muss lediglich eine Vuex-Aktion aus einer beliebigen Komponente heraus ausgelöst werden.
Der bei Serveranfragen angezeigte Spinner (siehe oben rechts neben der Benutzeridentifizierung) wird ebenfalls von einer Vuex-Eigenschaft gesteuert. Das Verfahren zum Ein-/Ausblenden ist das gleiche wie in Punkt 2 oben beschrieben;
Routen und Vuex-Module befinden sich in der Nähe der Module, für die sie arbeiten. Suchen Sie immer nach „routes.js“ und „store.js“ in einem Modulverzeichnis. Siehe /client/src/modules/categories;
Wichtig : Das im Verzeichnis „Webservice“ gefundene Laravel-Projekt wurde über das Hinzufügen von Routen und Controllern hinaus geändert. Beispiel: Die Datei „webservice/app/Exceptions/Handler.php“ wurde gegenüber der ursprünglichen Version geändert, um alle Ausnahmen an den Client zurückzugeben, nicht nur HttpExceptions. Darüber hinaus gibt es weitere Änderungen. Wir empfehlen daher, dieses Projekt immer zum Erstellen eines eigenen Projekts zu verwenden, anstatt Controller und Routen in ein neues Projekt zu kopieren.
git checkout -b feature/my-new-feature
git commit -am 'Add some feature'
git push origin feature/my-new-feature
Fábio Vedovelli und engagierte Mitwirkende.
Lizenziert unter der MIT-Lizenz.