Instagram Clone | ๐คServer
GraphQl Yoga |
Apollo |
Prisma |
![](./document/gq-yoga.png) |
![](./document/apollo.png) |
![](./document/prisma.jpeg) |
Passport |
Sendgrid |
![](./document/passport.png) |
![](./document/sendgrid.png) |
$ yarn add graphql-yoga dotenv morgan graphql-tools merge-graphql-schemas
$ yarn add nodemon babel-node @babel/node @babel/preset-env @babel/core @babel/cli @bebel/runtime multer multer-s3 aws-sdk copy
$ yarn add @babel/plugin-transform-runtime -D
- nodemon: Execute saved file without restarting the server
- dotenv: Read .env file
- morgan: Logger, To Monitor server pulling
- graphql-tools merge-graphql-schemas: The tool what is needed to manage a lot of files related to GraphQL Reference
- babel-node: Convert code to be compatible
- multer: Middleware to upload files
- multer-s3: multer to upload amazon s3 server
- copy: npx module to copy and paste several files to build
Execute server.js with babel-node
// package.json
"scripts": {
"dev": "nodemon --exec babel-node src/server.js"
}
nodemon ๊ฐ์ํ ํ์ผ์ ํ์ฅ์ ์ง์
// nodemon.json
{
"ext": "js graphql"
}
To make node detect import (import { GraphQLServer } from "graphql-yoga";)
// .babelrc
{
"presets": ["@babel/preset-env"]
}
// server.js
require("dotenv").config();