__dirname is not defined

μš©μƒμœ€Β·2021λ…„ 3μ›” 16일
0
post-custom-banner

πŸ‘‰ package.json

{
	"type": "module", //μ΄λ ‡κ²Œ λ˜μ–΄μžˆμœΌλ©΄ μ•ˆλ¨

}

ꡬ글에 λ‹€λ₯Έ 방법듀이 많이 λ‚˜μ™€μžˆμ§€λ§Œ 일단 μ €λ ‡κ²Œ λ˜μ–΄μžˆμœΌλ©΄ μ‚­μ œν•˜μž


μ˜€λŠ˜λ„ μ‚½μ§ˆ πŸ˜‚

graphql-tools λ₯Ό μ΄μš©ν•΄μ„œ μ—¬λŸ¬ 폴더 μ•„λž˜ schema와 resolvers λ₯Ό μ •μ˜ν•œ νŒŒμΌμ„ λ§Œλ“€κ³  schema.js λΌλŠ” 파일둜 ν•œκΊΌλ²ˆμ— λͺ¨λ“  μŠ€ν‚€λ§ˆ-리쑸버λ₯Ό μ½μ–΄μ˜€λŠ” μž‘μ—…μ„ ν•˜κ³  μžˆμ—ˆλ‹€.

schema.js

import path from "path";
import { makeExecutableSchema } from "@graphql-tools/schema";
import { mergeTypeDefs, mergeResolvers } from "@graphql-tools/merge";
import { loadFilesSync } from "@graphql-tools/load-files";

const allTypes = loadFilesSync(path.join(__dirname, "./api/**/*.graphql"));
const allResolvers = loadFilesSync(path.join(__dirname, "./api/**/*.js"));

const schema = makeExecutableSchema({
  typeDefs: mergeTypeDefs(allTypes),
  resolvers: mergeResolvers(allResolvers),
});

export default schema;

그런데...

__dirname is not defined 자꾸 이런 μ—λŸ¬κ°€ μƒκ²¨μ„œ λ„λŒ€μ²΄ 무엇이 원인인가 μ°Ύμ•„λ³΄μ•˜λ‹€.

일단 export ν•œ schema κ°€ μƒμœ„ 파일둜 연결이 λ˜λŠ” κ±Έ 보면 λ‹€λ₯Έ λ¬Έμ œλŠ” μ—†μ—ˆκ³ ,

console.log(allTypes);
console.log(allResolvers);

// []
// []

λ₯Ό ν•΄λ³΄λ‹ˆ 배열이 ν…… λΉ„μ–΄μžˆμ—ˆλ‹€. 이게 λ¬Έμ œμ˜€μŒ...

// package.json
{
"type": "module",

}

μ‚­μ œν•˜λ‹ˆ 배열에 μŠ€ν‚€λ§ˆμ™€ 리쑸버가 λ“€μ–΄μžˆλ‹€.

사싀 ꡬ글링을 μ§„μ§œ 2μ‹œκ°„μ€ ν•œ κ±°κ°™λ‹€... λͺ¨λ“  방법을 λ‹€ μŸμ•„λΆ€μ—ˆλŠ”λ° 해결이 μ•ˆλ¨... κ²°κ΅­ 해결을 ν•˜κΈ΄ ν–ˆλŠ”λ° λ„ˆλ¬΄ κ°„λ‹¨ν•œ λ¬Έμ œμ˜€μŒ... μ €λ²ˆμ— graphql μž‘μ—… ν•  λ•ŒλŠ” type: module 을 해쀬어야 ν•΄μ„œ μ²˜μŒλΆ€ν„° 적어놓고 μ‹œμž‘ν•œκ²Œ ν™”κ·Όμ΄μ—ˆλ‹€.

2μ‹œκ°„ μ‚½μ§ˆν–ˆμ–΄λ„ ν•΄κ²°ν•΄μ„œ μž μ€ 잘 수 μžˆμ„ 것 κ°™λ‹€.

profile
λ‹¬λ¦¬λŠ” 쀑!
post-custom-banner

0개의 λŒ“κΈ€