Starteranwendung zum Erstellen von APIs mit Express.js
Kommt mit:
Klonen Sie das Repository, installieren Sie die Abhängigkeiten und beginnen Sie sofort.
$ git clone --depth=1 [email protected]:mesaugat/express-api-es6-starter.git <application-name>
$ cd <application-name>
$ rm -rf .git
$ yarn # or npm install
Erstellen Sie eine Kopie von .env.example as .env und aktualisieren Sie Ihre Anwendungsdetails und Datenbankanmeldeinformationen. Führen Sie nun die Migrationen aus und säen Sie die Datenbank.
$ yarn migrate
$ yarn seed
Starten Sie schließlich die Anwendung.
$ yarn start:dev (For development)
$ NODE_ENV=production yarn start (For production)
Navigieren Sie zu http: // localhost: 8848/api-docs/um die Installation zu überprüfen.
Dies sind die Befehle, um eine neue Migration und eine entsprechende Saatgutdatei zu erstellen.
$ yarn make:migration <name>
$ yarn make:seeder <name>
Beispiel,
$ yarn make:migration create_tags_table
$ yarn make:seeder 02_insert_tags
Verwenden Sie Docker-Compose, um schnell einen Stapel mit vorkonfiguriertem Postgres-Datenbankcontainer aufzurufen. Daten sind kurzlebig und Container verschwinden, wenn der Stack entfernt wird.
Spezifische Konfiguration für Docker ist in .env.docker
0.0.0.0 als $APP_HOST um die App auf der Docker -Netzwerkschnittstelle zu enthüllenStapel ansprechen,
$ docker-compose up
Navigieren Sie zu http: // localhost: 8848/api-docs/Um zu überprüfen, ob die Anwendung von Docker ausgeführt wird.
Stapel herunterbringen,
$ docker-compose down
Für verschiedene Phasen stehen mehrere Build -Ziele zur Verfügung. Diese Bilder können verwendet werden, um Jobs in verschiedenen containerbasierten Cloud -Infrastrukturen wie Kubernetes, AWS -ECS, Fargate, GCP -Cloud -Lauf usw. bereitzustellen oder auszuführen.
Erstellen eines Produktionsbildes.
$ docker build --target=prod -t express-api-es6-starter:prod .Ein Bild für die Entwicklung aufbauen.
$ docker build --target=dev -t express-api-es6-starter:dev .Erstellen eines Bildes, das Migration und/oder Rollback ausführt.
# Docker image that runs migration and seeds.
$ docker build --target=migrate -t express-api-es6-starter:migrate .
# Docker image that rollbacks migrations.
$ docker build --target=migrate-rollback -t express-api-es6-starter:migrate-rollback . Sobald die Bilder erstellt wurden, müssen Sie lediglich eine .env -Datei ausführen. So was:
$ docker run -v " /path/to/your/.env:/app/.env " mesaugat/express-api-es6-starter:migrateInstallieren Sie zuerst den MySQL -Treiber.
$ yarn add mysql
Aktualisieren Sie diese Zeilen in Ihrer .env -Datei.
- DB_CLIENT='pg'
+ DB_CLIENT='mysql'
- DB_PORT='5432'
+ DB_PORT='3306'Sie können den PG -Treiber entfernen, wenn Sie möchten.
$ yarn remove pg
Das war's, du bist bereit zu rollen.
Um die Tests auszuführen, müssen Sie eine separate Testdatenbank erstellen. Vergessen Sie nicht, Ihre .env -Datei zu aktualisieren, um die Verbindungen für die Testdatenbank hinzuzufügen.
$ NODE_ENV=test yarn migrate
$ yarn test
Führen Sie Tests mit Abdeckung aus.
$ yarn test:coverage
Denn der höchste Punkt der Welt beträgt 8848 Meter.
Für Beitrags- und Funktionsanfragen erstellen Sie zuerst ein Problem.
Express-API-ES6-Starter steht unter MIT-Lizenz.