02-instagramクローンエンコーディング(2)ファイル管理
7070 ワード
符号化プログラムなしinstagramクローン符号化ショートカットhttps://nomadcoders.co/instaclone
Devide & Conqure
プロジェクトを行う上で、最も重要なのはファイルを管理する方法だと思います.家で片付けてこそ見つけやすいように.
プロジェクトもそうです.プロジェクトはますます大きくなり、ファイルを配布しなければ、今後のメンテナンスにおいても困難に直面します.
Graphqlは大量のQueryとMutationを必要とし、それらを分離し、最後に合併する.
整理する
Query、Mutationごとにフォルダを作成します=>各フォルダにtypeDefsを作成します.jsと解析器.作成(Devide)=>の後にjsをマージします.
npm install graphql-tools@latest
:サービス提供・提供のためのインストールファイルの作成
// schema.js
import {loadFilesSync} from "..."
import {mergeResolvers,mergeTypeDefs} from "..."
import {makeExecutableSchema} from "..."
// 최상위 Root경로아래의 모든 폴더안의 모든 파일들 중에서 typeDefs.js인 파일들을 가져옴
const loadedTypes = loadFilesSync(`${__dirname}/**/*.typeDefs.js`);
const loadedResolvers = loadFilesSync(`${__dirname}/**/*.resolvers.js`);
const typeDefs = mergeTypeDefs(loadedTypes);
const resolvers = mergeResolvers(loadedResolvers);
const schema = makeExecutableSchema({typeDefs,resolvers});
export default schema;
// server.js
import dotenv from "dotenv";
dotenv.config();
import {ApolloServer} from "apollo-server";
import schema from "./schema";
const server = new ApolloServer({
schema,
});
const PORT = process.env.PORT;
server
.listen(PORT)
.then(()=>console.log(`Server is running on http://localhost:${PORT}/`));
dotenv
dotnvは外部に露出すべき情報ではないために必要である.
npm install dotenv
Reference
この問題について(02-instagramクローンエンコーディング(2)ファイル管理), 我々は、より多くの情報をここで見つけました https://velog.io/@kamoo2/TIL-02-인스타그램-클론코딩-2-파일관리テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol