adhrinae / rinae.dev

https://rinae.dev
MIT License
11 stars 1 forks source link

posts/fix-circular-dependency-kr #73

Closed utterances-bot closed 6 months ago

utterances-bot commented 3 years ago

[번역] 자바스크립트 & 타입스크립트의 순환 참조를 한방에 해결하는 방법 | rinae's devlog

리내(안도형)의 개발블로그입니다. 좋은 기술 문서 번역을 주력으로 삼고 있습니다. 또한 개인적으로 공부한 내용이나, 모아두었던 글을 공유하고 있습니다.

https://rinae.dev/posts/fix-circular-dependency-kr

jwoo0122 commented 3 years ago

좋은 글 감사드립니다! 👍 다만, 순환 참조 문제로 이 글을 찾아오셨을 분들께... 이 방법은 모든 경우에 항상 성공적이지는 않습니다. 원문의 댓글에도 적혀있지만, 이 방법이 성공하는 이유는 AbstractNode.js 모듈 평가 시에 Leaf, Node 를 직접 사용하는 곳이 없기 때문입니다. 현재는 AbtractNode class 내의 메서드에서 간접적으로 사용하고 있지요. 만약 Node 혹은 Leaf 를 직접적으로 AbstractNode 에서 사용하는 곳이 있다면, 여전히 Object is not a function 에러가 발생합니다. 따라서 이런 경우에는 internal module pattern 을 적용할 수 없고, 파일을 분리하거나 합치는 방식을 사용해야 합니다.

adhrinae commented 3 years ago

@jwoo0122 피드백 고맙습니다. 저는 Webpack의 circular-depeendacy-plugin을 이용하여 순환 참조를 검출한 다음에 가능하면 모듈 참조 방식을 바꾸거나 파일 분리를 하는 전략 등을 사용하여 해결하고 있습니다. 지금은 인터널 모듈 패턴을 사용하지 않고 있어요.