Express.js를 사용한 API 구축을위한 스타터 응용 프로그램
함께 제공 :
저장소를 복제하고 종속성을 설치하고 즉시 시작하십시오.
$ git clone --depth=1 [email protected]:mesaugat/express-api-es6-starter.git <application-name>
$ cd <application-name>
$ rm -rf .git
$ yarn # or npm install
.env.example 사본을 .env 로 사본을 만들고 응용 프로그램 세부 정보 및 데이터베이스 자격 증명을 업데이트하십시오. 이제 마이그레이션을 실행하고 데이터베이스를 시드하십시오.
$ yarn migrate
$ yarn seed
마지막으로 응용 프로그램을 시작하십시오.
$ yarn start:dev (For development)
$ NODE_ENV=production yarn start (For production)
http : // localhost : 8848/api-docs/로 이동하여 설치를 확인하십시오.
이들은 새 마이그레이션 및 해당 종자 파일을 생성하는 명령입니다.
$ yarn make:migration <name>
$ yarn make:seeder <name>
예,
$ yarn make:migration create_tags_table
$ yarn make:seeder 02_insert_tags
Docker-Compose를 사용하여 사전 구성된 Postgres 데이터베이스 컨테이너가있는 스택을 빠르게 가져옵니다. 데이터는 임시이며 스택이 제거되면 컨테이너가 사라집니다.
Docker의 특정 구성은 .env.docker 입니다
$APP_HOST 로 0.0.0.0스택을 가져와
$ docker-compose up
http : // localhost : 8848/api-docs/로 이동하여 응용 프로그램이 Docker에서 실행 중인지 확인하십시오.
스택을 가져와
$ docker-compose down
다른 단계에서 사용할 수있는 여러 빌드 대상이 있습니다. 이 이미지는 Kubernetes, AWS ECS, Fargate, GCP Cloud Run 등과 같은 다양한 컨테이너 기반 클라우드 인프라에 작업을 배포하거나 실행하는 데 사용될 수 있습니다.
생산 이미지 구축.
$ docker build --target=prod -t express-api-es6-starter:prod .개발을위한 이미지 구축.
$ docker build --target=dev -t express-api-es6-starter:dev .마이그레이션 및/또는 롤백을 실행하는 이미지 구축.
# 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 . 일단 이미지가 만들어지면 .env 파일을 제공하는 것만 큼 일하면됩니다. 이와 같이:
$ docker run -v " /path/to/your/.env:/app/.env " mesaugat/express-api-es6-starter:migrateMySQL 드라이버를 먼저 설치하십시오.
$ yarn add mysql
.env 파일 에서이 줄을 업데이트하십시오.
- DB_CLIENT='pg'
+ DB_CLIENT='mysql'
- DB_PORT='5432'
+ DB_PORT='3306'원하는 경우 PG 드라이버를 제거 할 수 있습니다.
$ yarn remove pg
그게 다야, 당신은 롤 준비가되었습니다.
테스트를 실행하려면 별도의 테스트 데이터베이스를 만들어야합니다. 테스트 데이터베이스 연결을 포함하도록 .env 파일을 업데이트하는 것을 잊지 마십시오.
$ NODE_ENV=test yarn migrate
$ yarn test
적용 범위로 테스트를 실행합니다.
$ yarn test:coverage
세계에서 가장 높은 지점은 8848 미터이기 때문입니다.
기여 및 기능 요청은 먼저 문제를 만듭니다.
Express-API-ES6-STARTER는 MIT 라이센스 아래에 있습니다.