2016-11-17 3 views
4

이해하면 Node js는 CommonJS 모듈 패턴을 사용하고 CommonJS 패턴에서는 노드 모듈을 가져 오기 위해 require()를 사용합니다.Angular2에서 모듈 가져 오기

각도 2 응용 프로그램 개발에서 우리는 @ angular/core, @ angular/common 등을 사용합니다. 노드 모듈.

내 질문은 :

왜 우리가 angular2에서 노드 모듈 에 액세스하기위한 [ES6 모듈 구문입니다] 대신 commonJS의 이 (필요) 구문 " '@ 각도/코어'에서 가져 오기를 {}"사용합니까 코드 파일.

답변

4

이유는 Angular2가 TypeScript로 기록되어 있기 때문입니다.

TypeScript는 ES2015의 상위 집합이며 가능한 한 ES2015 제안 구문에 가까워지기를 원합니다. 이것이 구문에서 ES2015 import {}를 사용하는 이유입니다.

그러나 TypeScript에는 내장형 변환기 (tsc)도 함께 제공됩니다. 당신이 타이프 스크립트 코드를 작성하지만

  • , 당신은 명확하게 뒤에서 타이프 라이터가 필요로하는 가져 오기를 {} 번역 것을 확인할 수 ES5를 표적으로하고 transpiled 코드로보고 tsconfig.json (의 특정 ECMA 스크립트 버전을 대상으로 의미)을 파일에 저장합니다.
  • 변환 된 코드에서 ES6을 대상으로 할 경우 가져 오기는 ES2015 가져 오기가됩니다. ES6을 대상으로 지정할 때 ES6 모듈을 ES5로 이동 시키거나 System.js을 사용하여 브라우저에서 ES6 모듈을로드해야한다는 점에 유의하십시오.

건배