ESM (ES Modules) 또는 CommonJS의 JavaScript 모듈을 사용하면 프로젝트를 작고 재사용 할 수 있으며 관리 가능한 작품으로 나눌 수있게하여 코드 구성을 크게 향상시킬 수 있습니다. 두 유형의 모듈을 사용하는 방법은 다음과 같습니다.
ES 모듈 (ESM) :
ESM은 JavaScript 모듈의 최신 표준입니다. ESM을 사용하려면 다음을 수행 할 수 있습니다.
.js
또는 .mjs
사용하십시오. .mjs
확장은 기본적으로 ESM으로 아직 .js
지원하지 않는 환경에서 ESM을위한 것입니다. 내보내기 : 모듈에서 함수, 클래스 또는 변수를 내보내려면 export
키워드를 사용합니다. 예를 들어:
<code class="javascript">// math.js export function add(a, b) { return ab; } export const PI = 3.14;</code>
가져 오기 : 다른 파일의 내보내기 품목을 사용하려면 import
명령문을 사용하십시오.
<code class="javascript">// main.js import { add, PI } from './math.js'; console.log(add(2, 3)); // Output: 5 console.log(PI); // Output: 3.14</code>
commonjs :
CommonJS는 Node.js 환경에서 널리 사용됩니다. 사용 방법은 다음과 같습니다.
.js
사용하십시오. commonjs는 node.js의 기본 모듈 시스템입니다. 내보내기 : 내보내기, module.exports
사용 : Exports :
<code class="javascript">// math.js function add(a, b) { return ab; } const PI = 3.14; module.exports = { add, PI };</code>
가져 오기 : 가져 오기 위해 require
기능을 사용하십시오.
<code class="javascript">// main.js const { add, PI } = require('./math.js'); console.log(add(2, 3)); // Output: 5 console.log(PI); // Output: 3.14</code>
이러한 모듈 시스템을 사용하면 코드를 논리적 부품으로 분할하여 유지 관리, 테스트 및 재사용을보다 쉽게 할 수 있습니다.
ESM과 CommonJ의 주요 차이점은 다음과 같습니다.
통사론:
import
및 export
키워드를 사용합니다.require
및 module.exports
사용합니다.로딩 메커니즘 :
최상위 await
:
await
지원하므로 비동기 기능으로 코드를 감싸지 않고 await
수 있습니다.await
지원하지 않습니다.모듈 해상도 :
index.js
또는 index.mjs
찾습니다.프로젝트 구조에 미치는 영향 :
의존성을 효과적으로 관리하는 것은 건강하고 성능있는 프로젝트를 유지하는 데 중요합니다. 몇 가지 전략은 다음과 같습니다.
패키지 관리자 사용 :
package.json
사용중인 종속성 버전으로 최신 상태로 유지하십시오.시맨틱 버전화 :
종속성 감사 :
npm audit
또는 yarn audit
와 같은 도구를 사용하여 보안 취약점에 대한 종속성을 정기적으로 감사합니다.피어 의존성 :
나무 흔들림 :
종속성 시각화 :
npm ls
또는 전용 시각화 도구와 같은 도구를 사용하여 종속성 트리를 이해하고 잠재적 인 문제 또는 불필요한 종속성을 식별하십시오.지역 개발 :
JavaScript 모듈이 확장 가능하고 유지 관리 가능하도록하려면 다음과 같은 모범 사례를 따르십시오.
단일 책임 원칙 :
명확하고 설명적인 이름 :
모듈화 및 재사용 :
일관된 수출 및 수입 스타일 :
원형 의존성을 피하십시오.
가능한 경우 ES 모듈을 사용하십시오.
테스트 및 라인 :
선적 서류 비치:
버전 제어 :
지속적인 통합 및 배포 (CI/CD) :
이러한 관행을 따르면 확장, 유지 및 이해하기 쉬운 JavaScript 프로젝트를 구축 할 수 있습니다.
위 내용은 JavaScript 모듈 (ESM, CommonJS)을 사용하여 코드를 구성하려면 어떻게합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!