Skip to content

Latest commit

 

History

History

Quest07

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Quest 07. node.js의 기초

Introduction

  • 이번 퀘스트에서는 node.js의 기본적인 구조와 개념에 대해 알아 보겠습니다.

Topics

  • node.js
  • npm
  • CommonJS와 ES Modules

Resources

Checklist

  • node.js는 무엇인가요? node.js의 내부는 어떻게 구성되어 있을까요?
  • npm이 무엇인가요? package.json 파일은 어떤 필드들로 구성되어 있나요?
  • npx는 어떤 명령인가요? npm 패키지를 -g 옵션을 통해 글로벌로 저장하는 것과 그렇지 않은 것은 어떻게 다른가요?
  • 자바스크립트 코드에서 다른 파일의 코드를 부르는 시도들은 지금까지 어떤 것이 있었을까요? CommonJS 대신 ES Modules가 등장한 이유는 무엇일까요?
  • ES Modules는 기존의 require()와 동작상에 어떤 차이가 있을까요? CommonJS는 할 수 있으나 ES Modules가 할 수 없는 일에는 어떤 것이 있을까요?
  • node.js에서 ES Modules를 사용하려면 어떻게 해야 할까요? ES Modules 기반의 코드에서 CommonJS 기반의 패키지를 불러오려면 어떻게 해야 할까요? 그 반대는 어떻게 될까요?

Quest

  • 스켈레톤 코드에는 다음과 같은 네 개의 패키지가 있으며, 용도는 다음과 같습니다:
    • cjs-package: CommonJS 기반의 패키지입니다. 다른 코드가 이 패키지의 함수와 내용을 참조하게 됩니다.
    • esm-package: ES Modules 기반의 패키지입니다. 다른 코드가 이 패키지의 함수와 내용을 참조하게 됩니다.
    • cjs-my-project: cjs-packageesm-package에 모두 의존하는, CommonJS 기반의 프로젝트입니다.
    • esm-my-project: cjs-packageesm-package에 모두 의존하는, ES Modules 기반의 프로젝트입니다.
  • 각각의 패키지의 package.jsonindex.js 또는 index.mjs 파일을 수정하여, 각각의 *-my-project들이 *-package에 노출된 함수와 클래스를 활용할 수 있도록 만들어 보세요.

Advanced

  • node.js 외의 자바스크립트 런타임에는 어떤 것이 있을까요?